我是android studio的新手,我有一个小问题。 我想要一个对话框,其中有一些选择可以从ArrayList中选择(参与者在我的代码中分享)但是当我正在试图打开这个对话框时,应用程序就停止了, 我究竟做错了什么 ?
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();
(参与者分享是ArrayList<String>
,参与者是EditText
)
答案 0 :(得分: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();