首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >菜单事件处理

菜单事件处理
EN

Stack Overflow用户
提问于 2018-06-18 04:51:36
回答 1查看 61关注 0票数 0

在选择菜单列表中的语言选项后,我希望设置一个选择列表。

该列表工作在普通按钮情况(onClick),但菜单。

有什么我该注意的吗?

对不起我的英语

代码语言:javascript
复制
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);
    }

我想要的

将列表显示为

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 15:15:50

首先显示对话框的语言选择,并根据位置或文本显示另一个对话框的内容。

代码语言:javascript
复制
 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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50902826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档