我有一个ListView,显示时没有extends ListActivity。我想启用setOnItemClickListener。这是我在onCreate下的代码

adapter = new CustomAdapter(this, MyDB);
        setListAdapter(adapter);

        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position,
                                    long id) {

                Toast.makeText(getBaseContext(), "test", Toast.LENGTH_LONG).show();

            }


我使用以下代码启用ListView

protected ListView getListView() {
        if (mListView == null) {
            mListView = (ListView) findViewById(android.R.id.list);
            empty = (TextView) findViewById(android.R.id.empty);
            mListView.setEmptyView(empty);
        }
        return mListView;
    }

    protected void setListAdapter(ListAdapter adapter) {
        getListView().setAdapter(adapter);
    }


但是,setOnItemClickListener不起作用。

最佳答案

我认为,如果您使用里面的可点击按钮,最好的方法不是使用AdapterView.OnItemClickListener而是通常的onClick事件。
或使用android:descendantFocusability="blocksDescendants"我希望您的情况适合。

09-25 16:09