在 AlertDialog 中显示列表
Show list in AlertDialog
我正在使用一个在应用程序开头显示菜单的警报对话框,我希望该对话框向我显示 2 个值,这些值是来自对象的 "name"s,这是警报的代码对话框:
public void showDialog() {
EntityType en = new EntityType();
ArrayList array = ApplicationController.entities;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick one");
builder.setItems(array, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// I want to write my code here
}
});
builder.show();
}
EntityType
是我的对象,它包含一个字符串 "name" 并且 ApplicationController.entities
包含数组
您必须创建一个 ArrayAdapter 来保存您的 EntityType 名称并将它们添加到其中:
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, android.R.layout.select_dialog_singlechoice);
adapt.add("your entity name");
然后在对话框中:
builder.setAdapter(adapt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//Your code here
}
});
希望对您有所帮助
public void showDialog() {
EntityType en = new EntityType();
ArrayList array = ApplicationController.entities;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick one");
ArrayList<String> displayValues=new ArrayList<>();
for (Entity entity : array) {
displayValues.add(entity.name);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,array);
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick one");
builder.setSingleChoiceItems(displayValues, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Entity selectedItem = array[which];
}
});
builder.show();
}
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, android.R.layout.select_dialog);
adapt.add("your entity name");
然后编辑对话代码:
builder.setAdapter(adapt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//write code here
}
});
试试下面的代码..它对我有用...:)
AlertDialog.Builder builderSingle = new AlertDialog.Builder(MainActivity.this);
builderSingle.setIcon(R.drawable.green_tick_add);
builderSingle.setTitle("Choose..");
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.select_dialog_item);
arrayAdapter.add("Change Photo");
arrayAdapter.add("Remove Photo");
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);
}
});
builderSingle.show();
我正在使用一个在应用程序开头显示菜单的警报对话框,我希望该对话框向我显示 2 个值,这些值是来自对象的 "name"s,这是警报的代码对话框:
public void showDialog() {
EntityType en = new EntityType();
ArrayList array = ApplicationController.entities;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick one");
builder.setItems(array, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// I want to write my code here
}
});
builder.show();
}
EntityType
是我的对象,它包含一个字符串 "name" 并且 ApplicationController.entities
包含数组
您必须创建一个 ArrayAdapter 来保存您的 EntityType 名称并将它们添加到其中:
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, android.R.layout.select_dialog_singlechoice);
adapt.add("your entity name");
然后在对话框中:
builder.setAdapter(adapt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//Your code here
}
});
希望对您有所帮助
public void showDialog() {
EntityType en = new EntityType();
ArrayList array = ApplicationController.entities;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick one");
ArrayList<String> displayValues=new ArrayList<>();
for (Entity entity : array) {
displayValues.add(entity.name);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,array);
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick one");
builder.setSingleChoiceItems(displayValues, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Entity selectedItem = array[which];
}
});
builder.show();
}
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, android.R.layout.select_dialog);
adapt.add("your entity name");
然后编辑对话代码:
builder.setAdapter(adapt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
//write code here
}
});
试试下面的代码..它对我有用...:)
AlertDialog.Builder builderSingle = new AlertDialog.Builder(MainActivity.this);
builderSingle.setIcon(R.drawable.green_tick_add);
builderSingle.setTitle("Choose..");
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.select_dialog_item);
arrayAdapter.add("Change Photo");
arrayAdapter.add("Remove Photo");
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);
}
});
builderSingle.show();