[英]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.