Android AlertDialog.Builder设置项列表与另一个
我正在尝试创建一个项目列表,当触摸该列表时,将打开另一个项目列表。更像是项目的子菜单。这是因为我的第一个列表越来越长,我想把一些组合成一个子菜单Android AlertDialog.Builder设置项列表与另一个,android,dialog,alert,builder,Android,Dialog,Alert,Builder,我正在尝试创建一个项目列表,当触摸该列表时,将打开另一个项目列表。更像是项目的子菜单。这是因为我的第一个列表越来越长,我想把一些组合成一个子菜单 gridView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, final int position, long id) { f
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, final int position, long id) {
final CharSequence[] items = {"Gallery Image Menu", "View pattern", "Delete pattern", "Locate pattern in list view", "Row Counter (with pattern)", "Share Pattern", "Share Image", "Cancel"};
AlertDialog.Builder builder = new AlertDialog.Builder(grid.this);
builder.setTitle(selectedimage);
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if (item == 0){
//first menu 1st item
dialog.dismiss();
final CharSequence[] items2 = {"Rotate image 180"+"\u00B0", "Rotate image 90"+"\u00B0", "Add image from pattern", "Add image from file", "Add image from camera", "Remove image", "Cancel"};
final AlertDialog.Builder builder2 = new AlertDialog.Builder(grid.this);
builder2.setTitle(selectedimage);
builder2.setItems(items2, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog2, int item) {
if(item == 0){
//2nd menu, 1st item
dialog2.dismiss();
//do something
return;
}
if(item == 1){
dialog2.dismiss();
//2nd menu, 2nd item
//do something else
return;
}
AlertDialog alert2 = builder2.create();
alert2.show();
}
});
}
if (item == 1){
//first menu 2nd item
}
if(item == 2){
//1st menu, 3rd item
}
if(item == 3){
}
//..... etc
}
});
AlertDialog alert = builder.create();
alert.show();
}
});//gridView.setOnItemClickListener
gridView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、最终整型位置、长id){
final CharSequence[]项={“图库图像菜单”、“查看模式”、“删除模式”、“在列表视图中定位模式”、“行计数器(带模式)”、“共享模式”、“共享图像”、“取消”};
AlertDialog.Builder=新建AlertDialog.Builder(grid.this);
builder.setTitle(选择图像);
setItems(items,新的DialogInterface.OnClickListener()对话框){
公共void onClick(对话框接口对话框,int项){
如果(项==0){
//第一菜单第一项
dialog.dismise();
最终字符序列[]项2={“旋转图像180”+“\u00B0”,“旋转图像90”+“\u00B0”,“从图案添加图像”,“从文件添加图像”,“从相机添加图像”,“删除图像”,“取消”};
final AlertDialog.Builder builder2=新建AlertDialog.Builder(grid.this);
builder2.setTitle(选择图像);
builder2.setItems(items2,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog2,int项){
如果(项==0){
//第二菜单,第一项
对话2.解散();
//做点什么
返回;
}
如果(项目==1){
对话2.解散();
//第二菜单,第二项
//做点别的
返回;
}
AlertDialog alert2=builder2.create();
alert2.show();
}
});
}
如果(项目==1){
//第一菜单第二项
}
如果(项目==2){
//第一菜单,第三项
}
如果(项目==3){
}
//……等等
}
});
AlertDialog alert=builder.create();
alert.show();
}
});//gridView.setOnItemClickListener
第一个构建器按预期显示,但当我选择要打开第二个构建器的第一个选项时,第一个构建器关闭并返回活动
在调试模式下,第二个构建器代码将被读取,就像它将要显示一样,但随后两者都将关闭
也许你不能这样做
有什么好主意吗?你把钥匙放错地方了
AlertDialog alert2 = builder2.create();
alert2.show();
部分。将其向下移动3行,在}之后代码>您将
AlertDialog alert2 = builder2.create();
alert2.show();
部分。将其向下移动3行,在}之后代码>