2017-04-11 44 views
0

因此昨天我介绍了sharedprefrences并开始构建一些代码。我有一个简单的输入,用户输入3个字符串和3个时钟时间。根据sharedPreferences中保存的内容在alertdialog上显示的具体输出

因此,这是数量

String kolicina_main = sharedPreferences.getString("dnevna_kolicina",null); 

这是basicly你每天有多少时间做一些事情。然后:

String ura1_main = sharedPreferences.getString("ura1",null); 
         String ura2_main = sharedPreferences.getString("ura2",null); 
         String ura3_main = sharedPreferences.getString("ura3",null); 

这些是用户设置的3个clocs。

这是我的问题。例如,如果用户每天选择1x时间,我想只在第一次显示alertdialog。如果他每天选择2次,我想显示clock1和clock2。

到目前为止,如果我在模拟器上输入数据,并选择每天3次一次显示了3个,如果我选择2次就说明2.问题是,当我关闭仿真器,然后重新打开,我点击显示我的数据即使它说我每天需要2次,也能获得0个时钟。

任何想法,我错了。

public void viewAll(){ 

     pregled_nastavitev.setOnClickListener(
       new View.OnClickListener(){ 
        @Override 
        public void onClick (View view){ 
         SharedPreferences sharedPreferences = getSharedPreferences("nastavitve_uporabnika", Context.MODE_PRIVATE); 
         String bolecina_main = sharedPreferences.getString("bolecina",null); 
         String zdravilo_main = sharedPreferences.getString("zdravilo",null); 
         String kolicina_main = sharedPreferences.getString("dnevna_kolicina",null); 
         String ura1_main = sharedPreferences.getString("ura1",null); 
         String ura2_main = sharedPreferences.getString("ura2",null); 
         String ura3_main = sharedPreferences.getString("ura3",null); 

         String bolecina_main1 = bolecina.getText().toString(); 
         String zdravilo_main1 = zdravilo.getText().toString(); 
         String kolicina_main1 = kolicina_zdravila.getText().toString(); 
         String ura1_main1 = ura1.getText().toString(); 
         String ura2_main1 = ura2.getText().toString(); 
         String ura3_main1 = ura3.getText().toString(); 

         if (bolecina_main == null && zdravilo_main == null && kolicina_main == null && ura1_main == null && ura2_main == null && ura3_main == null){ 
           showMessage("Napaka","Ni najdenih podatkov!"); 
          return; 
         } 
         else { 
         StringBuffer buffer = new StringBuffer(); 

          buffer.append("Vaša bolečina: "+ sharedPreferences.getString("bolecina", "")+"\n"); 
          buffer.append("Vaše zdravilo: "+ sharedPreferences.getString("zdravilo", "")+"\n"); 
          buffer.append("Zdravilo vzamem: "+ sharedPreferences.getString("dnevna_kolicina", "")+" x dnevno!"+"\n"); 

          if (kolicina_zdravila.getText().toString().equals("1")){ 
           buffer.append("Prvič ob: "+ sharedPreferences.getString("ura1", "")+"\n"); 
          } 
          if (kolicina_zdravila.getText().toString().equals("2")){ 
           buffer.append("Prvič ob: "+ sharedPreferences.getString("ura1", "")+"\n"); 
           buffer.append("Drugič ob: "+ sharedPreferences.getString("ura2", "")+"\n"); 
          } 
          if (kolicina_zdravila.getText().toString().equals("3")) { 
           buffer.append("Prvič ob: " + sharedPreferences.getString("ura1", "") + "\n"); 
           buffer.append("Drugič ob: " + sharedPreferences.getString("ura2", "") + "\n"); 
           buffer.append("Tretjič ob: " + sharedPreferences.getString("ura3", "") + "\n"); 
          } 

          showMessage("Vaši podatki",buffer.toString()); 
        } 
        } 
       } 
     ); 


    } 

    public void showMessage (String title, String message){ 

     AlertDialog.Builder builder=new AlertDialog.Builder(this); 
     builder.setCancelable(true); 
     builder.setTitle(title); 
     builder.setMessage(message); 
     builder.show(); 
    } 
} 

回答

0

我自己发现了错误。正在检查错误的情况。

    if (sharedPreferences.getString("dnevna_kolicina", "").toString().equals("1")){ 
         buffer.append("Prvič ob: "+ sharedPreferences.getString("ura1", "")+"\n"); 

        } 
        if (sharedPreferences.getString("dnevna_kolicina", "").toString().equals("2")){ 
         buffer.append("Prvič ob: "+ sharedPreferences.getString("ura1", "")+"\n"); 
         buffer.append("Drugič ob: "+ sharedPreferences.getString("ura2", "")+"\n"); 

        } 
        if (sharedPreferences.getString("dnevna_kolicina", "").toString().equals("3")) { 
         buffer.append("Prvič ob: " + sharedPreferences.getString("ura1", "") + "\n"); 
         buffer.append("Drugič ob: " + sharedPreferences.getString("ura2", "") + "\n"); 
         buffer.append("Tretjič ob: " + sharedPreferences.getString("ura3", "") + "\n"); 

        }