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;
} });