2017-12-07 11 views
0

나는 android studio에서 새로운 경험을 가지고 있습니다. ArrayList (참가자 코드는 내 코드에서 선택)에서 선택할 수있는 대화 상자가 필요하지만이 대화 상자를 열려고 triying 할 때 앱이 멈 춥니 다. 무엇이 잘못 되었나요?리스트가있는 대화 상자가 작동하지 않습니다.

final AlertDialog.Builder builder = new AlertDialog.Builder(Paiements.this); 
builder.setTitle("Qui a payé ?"); 
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(Paiements.this, android.R.layout.simple_list_item_1, participantsShare); 

builder.setAdapter(arrayAdapter, new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int item) { 
     participant.setText(participantsShare.get(item)); 
     dialog.cancel(); 
    } 
}); 

AlertDialog dialog = builder.create(); 
dialog.show(); 

은 (participantsShare는 ArrayList<String>이며, 참가자는 EditText이다) 대화 상자의 목록을 보여주는이 코드

+1

왜 DialogFragment가 아닌가요? –

답변

0

사용.

AlertDialog.Builder builderSingle = new AlertDialog.Builder(DialogActivity.this); 
builderSingle.setIcon(R.drawable.ic_launcher); 
builderSingle.setTitle("Select One Name:-"); 

final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(DialogActivity.this, android.R.layout.select_dialog_singlechoice); 
arrayAdapter.add("Hardik"); 
arrayAdapter.add("Archit"); 
arrayAdapter.add("Jignesh"); 
arrayAdapter.add("Umang"); 
arrayAdapter.add("Gatti"); 

builderSingle.setNegativeButton("cancel", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       dialog.dismiss(); 
      } 
     }); 

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(DialogActivity.this); 
       builderInner.setMessage(strName); 
       builderInner.setTitle("Your Selected Item is"); 
       builderInner.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog,int which) { 
           dialog.dismiss(); 
          } 
         }); 
       builderInner.show(); 
      } 
     }); 
builderSingle.show(); 
+0

확인해 주셔서 감사합니다 :) ArrayAdpter가 왜 최종입니까? – Otnax

+0

ArrayAdapter를 최종 형으로 만드는 것은 필수 사항이 아닙니다. 가능한 경우 답변을 작성하고 정답을 표시하십시오. – Khemraj