Android 菜单事件处理

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&

在菜单列表中选择语言选项后,我想设置一个选项列表

该列表在普通按钮(onClick)的情况下工作,但在菜单中不起作用

有什么我应该注意的吗

对不起,我的英语不好

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;

很抱歉,当您希望列表显示时,我没有得到??单击后,可以在显示“中文”和“英文”选项后选择菜单列表中的菜单项,以便您希望在警报窗口中显示列表。对吗?我添加了图片