(Android)Listview已单击但未触发

(Android)Listview已单击但未触发,android,view,listener,adapter,Android,View,Listener,Adapter,我正在开发一个杂货清单应用程序来学习android,但我似乎不知道如何让ListView中的项目触发我在ListView上设置的ItemClickListener中的onClick事件。方法renderList是从onResume方法调用的,该方法从数据库中获取杂货列表并填充ListView。为什么这一实施不起作用;当我单击列表项时,祝酒词不显示 列表项是一个复选框视图 @Override protected void onResume() { super.onResume(); ren

我正在开发一个杂货清单应用程序来学习android,但我似乎不知道如何让ListView中的项目触发我在ListView上设置的ItemClickListener中的onClick事件。方法renderList是从onResume方法调用的,该方法从数据库中获取杂货列表并填充ListView。为什么这一实施不起作用;当我单击列表项时,祝酒词不显示

列表项是一个复选框视图

@Override
protected void onResume() {
  super.onResume();
  renderList();
}

protected void renderList(){

    try {
        dbHelper = new DbHelper(getApplicationContext());
        db = dbHelper.getReadableDatabase();
        cursor = db.query(DbHelper.TABLE, null, null, null, null, null, DbHelper.C_ID + " DESC");
        startManagingCursor(cursor);
        adapter = new SimpleCursorAdapter(this, R.layout.list_item, cursor, FROM, TO);

        groceriesList = (ListView)findViewById(R.id.listView1);
        groceriesList.setAdapter(adapter);
        groceriesList.setOnItemClickListener(clickListen);


     } catch (Exception e) {
         Log.d(TAG, "RenderList Error: ",e);
     }
}

private OnItemClickListener clickListen = new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long arg3) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "pos: "+position, Toast.LENGTH_SHORT).show();
    }   

};

我猜您的列表行中有可聚焦的项。我会研究设置为false或在项目绑定中,只需将它们的xml属性设置为android:focusable=false

我猜列表行中的项目是可聚焦的。我将研究设置为false或在项目绑定中,只需将其xml属性设置为android:focusable=false

您可能希望使用ListActivity,然后简单地覆盖onListItemClick方法。另一个问题可能是您在列表视图中放置的内容。有关概述,请参阅,但是如果列表视图中有任何可聚焦的项目,则很难使其正确注册单击。

您可能希望使用ListActivity,然后简单地重写onListItemClick方法。另一个问题可能是您在列表视图中放置的内容。请参阅以获取概述,但如果列表视图中有任何可聚焦的项目,则很难使其正确注册单击。

如果我使用列表活动,如何添加标题,以及如何在滚动期间将其固定在顶部?如果我使用列表活动,如何添加标题,并在滚动期间将其固定在顶部?技术上我认为你是对的,我必须切换到textView才能使其工作。我用一个textView和一个未选中复选框的图像进行了一个线性布局,当它被点击时,我只会将图像更改为一个已选中复选框。如果使用,会发生什么?我最终使用了一个自定义的CursorAdapter类来填充ListView。技术上我认为你是对的,我必须切换到textView才能让它工作。我用一个文本视图和一个未选中复选框的图像进行了一个线性布局,当它被单击时,我只会将图像更改为一个已选中复选框。如果使用,会发生什么?我最终使用了一个自定义的CursorAdapter类来填充listView