1

我有一个自定义列表视图,其中有一个textview和一个ImageView. 我已经focusable= false为 textView 和 ImageView 设置了。对于列表视图,我使用了一个自定义数组适配器,它扩展了ArrayAdapter<ApplicationInfo>. 问题是列表项无论如何都不会触发项目单击侦听器。我知道无法弄清楚这个问题是非常尴尬的,但是我已经花了将近 2 个小时来解决这个问题。这是代码:

onCreate()

list = getListView();
list.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
            Toast.makeText(MyApp.this, "hello", Toast.LENGTH_SHORT).show();
        }
});

我也尝试过这种方式,但仍然无法获得点击。

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);

    Toast.makeText(this, "dfdsf",Toast.LENGTH_SHORT).show();
}

这个奇怪的问题可能是什么原因?我过去曾与 CustomListViews 合作过,但从未遇到过这个问题。

    list.setAdapter(new CustomListAdapter(MyAppsList.this, appList, pManager));
4

1 回答 1

1

如果您只使用一个活动,请使用下一个代码获取列表视图:

ListView list = (ListView)findViewById(R.id.your_list);

当您使用ListActivity时,您可以通过调用方法获得 ListView

ListView list = getListView();

或者你可以使用

ListView list = (ListView)findViewById(R.id.your_list)

尝试使用getListView ()中的findViewById 。

HTH。

于 2013-08-21T13:34:31.290 回答