Android layout I';我有一个自动生成的列表,它是';s不接受onclick方法

Android layout I';我有一个自动生成的列表,它是';s不接受onclick方法,android-layout,listview,Android Layout,Listview,我有这个自动生成的列表 <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textIsSelectable="true" android:longClickable="true" android:onClick="onClick"

我有这个自动生成的列表

 <ListView
    android:id="@android:id/list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textIsSelectable="true"
    android:longClickable="true"    
    android:onClick="onClick"       />
但我不知道如何创建侦听器并将其附加到代码中来实现这一点。有什么想法吗

我在onCreate方法中得到了这个:

final ListView lv = (ListView) findViewById(android.R.id.list);

    lv.setOnLongClickListener( new View.OnLongClickListener() { 
        @ Override 
        public boolean onLongClick(View v) {
            int position = lv.getPositionForView(v);
            Log.d(TAG, "position in here: " + position);
            if (getListAdapter().getCount() > 0) {
                Encouragement encouragement = (Encouragement) getListAdapter().getItem(position);
                datasource.deleteEncouragement(encouragement);
                adapter.remove(encouragement);
                adapter.notifyDataSetChanged();
            }

            return false;
        } 
    });
但它还没有到达终点
Log.d(标签“此处位置:”+位置)

使用此代码来制定解决方案

import android.widget.AdapterView.OnItemLongClickListener;

lv.setOnItemLongClickListener(new OnItemLongClickListener() {

public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        Log.d(TAG, "clicked on item "+arg1);
        return false;
} });
导入android.widget.AdapterView.OnItemLongClickListener;
lv.setOnItemLongClickListener(新的OnItemLongClickListener(){
长单击(AdapterView arg0、视图arg1、int arg2、,
长arg3){
Log.d(标记“点击项目”+arg1);
返回false;
} });
问题是我没有从列表中选择特定的项,只是一个常规项使编译器感到困惑

import android.widget.AdapterView.OnItemLongClickListener;

lv.setOnItemLongClickListener(new OnItemLongClickListener() {

public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        Log.d(TAG, "clicked on item "+arg1);
        return false;
} });