2016-12-01 3 views
1

Ich habe ein Dialogfeld, ein Dialogfeld in einem Dialogfeld.
Ich möchte die Ergebnisse von dynamischen ListView in meinem ersten Dialogfeld anzeigen und in diesem ersten Dialogfeld gibt es eine Schaltfläche zum Aufrufen des zweiten Dialogfelds, das EditText enthält, so dass ein neuer Wert von dynamischen ListView eingefügt werden kann und es das erste Dialogfeld anzeigen .android view listview dialog innerhalb eines dialogs

public void dialoListview() { 
    final Dialog rankDialog = new Dialog(HI_Talk.this, android.R.style.Theme_Light); 
    rankDialog.setContentView(R.layout.listview_sample); 
    rankDialog.setCancelable(true); 
    ImageButton app_icon = (ImageButton) rankDialog.findViewById(R.id.app_icon); 

    ListView list = (ListView) findViewById(R.id.listView); 
    final ArrayList<String> arrayList = new ArrayList<String>(); 
    final ArrayAdapter<String> savednotes_adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, arrayList); 
    list.setAdapter(savednotes_adapter); 

    app_icon.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      LayoutInflater li = LayoutInflater.from(context); 
      View promt = li.inflate(R.layout.savednotes_list, null); 
      AlertDialog.Builder alerDialogBuilder = new AlertDialog.Builder(context); 
      alerDialogBuilder.setView(promt); 

      final EditText textfield_savednotes = (EditText) promt.findViewById(R.id.edt_textfield); 
      alerDialogBuilder.setCancelable(false).setPositiveButton("saved", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 

        String temp_name = textfield_savednotes.getText().toString(); 
        arrayList.add(textfield_savednotes.getText().toString()); 
        textfield_savednotes.setText(""); 
        savednotes_adapter.notifyDataSetChanged(); 
        Toast.makeText(getApplicationContext(), "Template Added", Toast.LENGTH_LONG).show(); 
       } 
      }).setNegativeButton("cancel", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        dialog.cancel(); 
       } 
      }); 
      AlertDialog alertDialog = alerDialogBuilder.create(); 
      alertDialog.show(); 
     } 
    }); 
    rankDialog.show(); 
} 
+0

können Sie sag wh bei Fehler bekommen Sie –

+0

leider, hi_chat hat Stop das ist der Fehler, hi_chat ist der Name der Aktivität ... –

+0

list.setAdapter (savednotes_adapter); f ich kommentiere diese Aussage, kein Fehler, aber es zeigt nicht den Text an, den ich zu dialog1 eingegeben habe –

Antwort

2

entfernen final in Arraylist, ArrayAdapter und

oncreate in Ihrer Tätigkeit als global deklarieren Vor

ArrayList<String> arrayList; 
ArrayAdapter<String> savednotes_adapter; 

innerhalb oncreate oder Ihre Methode

arrayList = new ArrayList<String>(); 
savednotes_adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,arrayList); 

+0

ok sir ich werde es anwenden. Tnx Herr –

Verwandte Themen