2017-04-11 11 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 개의 cloc입니다.

여기 내 문제입니다. 예를 들어 사용자가 하루에 1x 시간을 선택하면 처음에만 alertdialog에 표시하려고합니다. 그가 하루에 2 배를 선택하면 나는 clock1과 clock2를 보여주고 싶다.

지금까지 내가 에뮬레이터 및 입력 데이터를 하루에 3x 시간을 선택하면 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"); 

        }