[英]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
您可以使用第二个参数来获取已选中的RadioButton
的id
,然后可以从那里进行任何需要的操作。
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.