2013-09-24 4 views
1

У меня есть диалоговое окно, в котором есть контейнеры и два на кликах, чтобы закрыть диалоговое окно , и я хочу, чтобы я отображался только один раз, и я использую этот код, но он не отображает его вообще !!, показывая диалог только один раз

любая помощь?

SharedPreferences setting = getSharedPreferences("dialogprefs", 0); 
    final SharedPreferences.Editor editor = setting.edit(); 
    { 
      final Dialog dialog = new Dialog(this); 
      dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
      dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 
      dialog.setContentView(R.layout.hint1); 
      dialog.setCanceledOnTouchOutside(true); 
      dialog.setTitle("Hint"); 
      View masterView = dialog.findViewById(R.id.LinearLayout1); 
      masterView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        dialog.dismiss(); 
        editor.putString("dialogshow", "0".toString()); 
        editor.commit(); 
       } 
      }); 
       View masterView1 = dialog.findViewById(R.id.imageView1); 
       masterView1.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         dialog.dismiss(); 
         editor.putString("dialogshow", "0".toString()); 
         editor.commit(); 
        } 
      }); 
      if (setting.getString("dialogshow" , "0").equals("0")) { 
       dialog.dismiss(); 
      } 
      else { 
      dialog.show(); 
      } 
    } 
+0

Вы пробовали отлаживать ваше приложение? – Tobrun

+0

Почему вы используете строку, ее запутывает .. почему бы вам не сохранить логическое значение, которое имело бы смысл, ложно, прежде чем он показал, правда после?/ –

+0

спасибо! но моя проблема заключается в установке пустых sharedprfs – Mahfa

ответ

0

Предполагая, что setting.getString("dialogShow", "0") означает что-то вроде getString(name, defaultValue) то по умолчанию "0", если предпочтение не установлено еще, что означает, что диалог никогда не будет отображаться даже один раз. Возможно, вы имеете в виду setting.getString("dialogShow", "1").

Смежные вопросы