首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnItemClickListener无法实例化类型AdapterView.OnItemClickListener

OnItemClickListener无法实例化类型AdapterView.OnItemClickListener
EN

Stack Overflow用户
提问于 2013-07-12 00:06:46
回答 2查看 1.5K关注 0票数 0

我对一个列表视图进行了OnItemClick攻击,在onItemClick()中,它打开了一个带有单选按钮Cancel和Select的对话框。在对话框中,我想我需要某种clickListener或itemSelectedListener,这样我就可以传递他们选择的listview项的值。

代码语言:javascript
复制
@Override
            public void onItemClick(AdapterView<?> parent, View view, int position,  long id) {
                if(position == 0) { 
                    CheckBox checkBox = (CheckBox) mRoot.findViewById(R.id.cbRowCheckBox);
                    checkBox.setChecked(!checkBox.isChecked());
                }
                if(position == 1) {

                    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                    builder.setTitle(R.string.sync_frequency);

                    ListView listView = new ListView(getActivity());
                    listView.setOnItemClickListener(new OnItemClickListener());  <-----
                    String[] syncOptions = mSyncOptions;
                    ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.select_dialog_singlechoice, android.R.id.text1, syncOptions);
                    builder.setSingleChoiceItems(modeAdapter, 0, null);
                    builder.setView(listView);
                    builder.setPositiveButton(R.string.sync_select,null);
                    builder.setNegativeButton(R.string.sync_cancel,null);
                    final Dialog dialog = builder.create();
                    dialog.show();
                }
            }
        });

但是我得到一个错误,说不能实例化AdapterView.OnItemClickListener类型。最好的路线是什么,或者我如何解决这个问题,这样我才能让代码知道用户选择了哪个单选按钮?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-07-12 00:12:57

如果我理解正确的话,您希望在RadioButtonchecked时使用listener。对于此用法,onCheckedChangeListener

您可以使用第二个参数来获取所检查的RadioButtonid,然后您可以从那里对它执行任何您需要的操作。

代码语言:javascript
复制
yourRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) 
    { 
        if (checkedId == R.id.some_id)
        {
            // do something
        }

    });
票数 0
EN

Stack Overflow用户

发布于 2013-07-12 00:17:06

AlertDialog有使用setItems() methodbuilt in support for lists -没有理由定制你自己的ListView

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17598317

复制
相关文章

相似问题

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