繁体   English   中英

OnItemClickListener无法实例化AdapterView.OnItemClickListener类型

[英]OnItemClickListener Cannot instantiate the type AdapterView.OnItemClickListener

我将OnItemClick攻击到一个列表视图,并且在onItemClick()内它打开了一个带有单选按钮,“取消”和“选择”的对话框。 在对话框中,我想我需要某种clickListener或itemSelectedListener,以便我可以传递他们选择的listview项的值。

@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类型。 最佳路线是什么?如何解决此问题,以便让代码知道用户选择了哪个单选按钮? 谢谢!

如果我对您的理解正确,则希望在checked RadioButton时使用listener 为此,使用onCheckedChangeListener

您可以使用第二个参数来获取已选中的RadioButtonid ,然后可以从那里进行任何需要的操作。

yourRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) 
    { 
        if (checkedId == R.id.some_id)
        {
            // do something
        }

    });

AlertDialog使用setItems()方法 内置了对列表的支持 -没有理由制作自己的自定义ListView

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM