簡體   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