2016-10-12 2 views
0
AlertDialog.Builder builderSingle = new AlertDialog.Builder(Questionnaire.this); 
builderSingle.setIcon(R.drawable.seal_catanauan); 
builderSingle.setTitle("Select survey to use: "); 

final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
     Questionnaire.this, 
     android.R.layout.select_dialog_singlechoice); 
//      arrayAdapter.add("Hardik"); 
//      arrayAdapter.add("Archit"); 
//      arrayAdapter.add("Jignesh"); 
//      arrayAdapter.add("Umang"); 
//      arrayAdapter.add("Gatti"); 
System.out.println(jsonArray.length()); 
for (int i = 0; i < jsonArray.length(); i++) { 
    // Get JSON object 
    JSONObject obj = (JSONObject) jsonArray.get(i); 
    arrayAdapter.add("(" + obj.get("sysid").toString() + ")" + obj.get("surveytitle").toString()); 
    // DB QueryValues Object to insert into SQLite 
    //controller.insertusername(obj.get("username").toString(),obj.get("password").toString(),obj.get("fname").toString(),obj.get("mname").toString(),obj.get("lname").toString(),obj.get("suffix").toString(),obj.get("status").toString()); 
} 
builderSingle.setCancelable(false); 
builderSingle.setNegativeButton(
     "Cancel", 
     new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.dismiss(); 
       Intent todashboard = new Intent(getApplicationContext(), Dashboard.class); 
       startActivity(todashboard); 
       finish(); 
      } 
     }); 

builderSingle.setAdapter(
     arrayAdapter, 
     new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       String strName = arrayAdapter.getItem(which); 
       AlertDialog.Builder builderInner = new AlertDialog.Builder(
         Questionnaire.this); 
       String surveyid = strName.split("[\\(\\)]")[1]; 
       builderInner.setMessage(strName.split("[\\(\\)]")[2]); 
       builderInner.setTitle("Your Selected Survey is"); 
       builderInner.setCancelable(false); 
       builderInner.setPositiveButton(
         "Ok", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(
            DialogInterface dialog, 
            int which) { 

           dialog.dismiss(); 
          } 
         }); 
       builderInner.setNegativeButton(
         "Back", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, int which) { 
           dialog.dismiss(); 
//        Questionnaire.super.onBackPressed(); 
          } 
         }); 
       builderInner.show(); 
      } 
     }); 
builderSingle.show(); 

I versucht, mit dialog.dismiss(); Dies schließt sowohl Dialogfeld.Schließen aktuelle dialogbox und zurück zum vorherigen Dialogfeld android

Wie wird nur ein Dialogfeld geschlossen und zum vorherigen Dialogfeld zurückgekehrt?

Ich möchte das aktuelle Dialogfeld schließen, das builderInner ist, wenn ich auf die Zurück-Schaltfläche klicke, und ich möchte zum vorherigen Dialogfeld zurückkehren, das builderSingle ist.

Ich versuchte mit dialog.dismiss(); dies schließt beide Dialogfeld.

Wie wird nur ein Dialogfeld geschlossen und zum vorherigen Dialogfeld zurückgekehrt?

+0

warum Sie jquery markiert haben? –

+0

Entschuldigung, ich habe nur einen falschen Klick, den ich entfernen werde. es soll Java für Android sein –

Antwort

0

i mein builderSingle ändern:

final AlertDialog.Builder builderSingle = new AlertDialog.Builder(Questionnaire.this);

Es ist jetzt letzte und dann in meinem

builderInner.setNegativeButton(
      "Back", 
       new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(
       DialogInterface dialog, 
       int which) { 
       builderSingle.show();//added this line 
       //Questionnaire.super.onBackPressed(); 
    } 
}); 

Ich habe builderSingle.show(); diese Zeile innerhalb der Zurück-Taste klicken.

Ich bin nur besorgt, als nach der Einstellung BuilderSingle zum endgültigen ich einige Anomalien verursachen kann, die mir nicht bekannt sind.

die Antwort zu aktualisieren Fühlen Sie sich frei correct.As von jetzt machen es funktioniert wie erwartet

Verwandte Themen