Android 菜单事件处理
在菜单列表中选择语言选项后,我想设置一个选项列表 该列表在普通按钮(onClick)的情况下工作,但在菜单中不起作用 有什么我应该注意的吗 对不起,我的英语不好Android 菜单事件处理,android,menu,onclick,show,Android,Menu,Onclick,Show,在菜单列表中选择语言选项后,我想设置一个选项列表 该列表在普通按钮(onClick)的情况下工作,但在菜单中不起作用 有什么我应该注意的吗 对不起,我的英语不好 switch (item.getItemId()) { case R.id.changeCity: showInputDialog(); return true; case R.id.Language: List<String&
switch (item.getItemId()) {
case R.id.changeCity:
showInputDialog();
return true;
case R.id.Language:
List<String> language = new ArrayList<String>();
language.add(getString(R.string.english));
language.add(getString(R.string.chinese));
new AlertDialog.Builder(WeatherClass.this)
.setSingleChoiceItems(language.toArray(new String[language.size()]), 0,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
return true;
default:
return super.onOptionsItemSelected(item);
}
开关(item.getItemId()){
案例R.id.changeCity:
showInputDialog();
返回true;
案例R.id.语言:
列表语言=新的ArrayList();
add(getString(R.string.english));
add(getString(R.string.chinese));
新建AlertDialog.Builder(WeatherClass.this)
.setSingleChoiceItems(language.toArray(新字符串[language.size()]),0,
新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
}
})
.show();
返回true;
违约:
返回super.onOptionsItemSelected(项目);
}
我想要什么
像这样显示列表
首先显示语言选择对话框,并根据位置或文本显示另一个包含内容的对话框
case R.id.Language:
final CharSequence[] items = { "English", "Chinese"};
AlertDialog.Builder builder = new AlertDialog.Builder(WeatherClass.this);
builder.setTitle("Selection");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int position ) {
List<String> language = new ArrayList<String>();
if (position == 0) {
// language = "english data"
}
if (position == 1) {
// language = "chinese data"
}
new AlertDialog.Builder(WeatherClass.this).setSingleChoiceItems(language.toArray(new String[language.size()]), 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// second dialog data
}
})
.show();
}
}).show();
return true;
案例R.id.语言:
最终字符顺序[]项={“英语”、“汉语”};
AlertDialog.Builder=新建AlertDialog.Builder(WeatherClass.this);
建造商名称(“选择”);
setItems(items,新的DialogInterface.OnClickListener()对话框){
公共void onClick(对话框接口对话框,int位置){
列表语言=新的ArrayList();
如果(位置==0){
//language=“英语数据”
}
如果(位置==1){
//language=“中文数据”
}
新建AlertDialog.Builder(WeatherClass.this).setSingleChoiceItems(language.toArray(新字符串[language.size()]),0,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
//第二对话框数据
}
})
.show();
}
}).show();
返回true;
很抱歉,当您希望列表显示时,我没有得到??单击后,可以在显示“中文”和“英文”选项后选择菜单列表中的菜单项,以便您希望在警报窗口中显示列表。对吗?我添加了图片