Android 为什么setOnItemLongClickListener不工作?
我正在使用Android 为什么setOnItemLongClickListener不工作?,android,sqlite,listview,sql-delete,Android,Sqlite,Listview,Sql Delete,我正在使用simpledapter从Sqlite数据库生成一个Listview。我想删除手机上长按该行的项目。但是长按时,listview行没有响应任何内容。有谁能在这件事上指导我吗? 我的代码如下: Lists.java ListView l=(ListView)findViewById(R.id.listView1); l.setLongClickable(true); details=db.getlocationdetails(); if((details=db.getlo
simpledapter
从Sqlite数据库生成一个Listview
。我想删除手机上长按该行的项目。但是长按时,listview
行没有响应任何内容。有谁能在这件事上指导我吗?
我的代码如下:
Lists.java
ListView l=(ListView)findViewById(R.id.listView1);
l.setLongClickable(true);
details=db.getlocationdetails();
if((details=db.getlocationdetails()).size()!=0)
{
ListAdapter k=new SimpleAdapter(Lists.this,details,R.layout.testviewnew,new String[]{"locname","profile"},new int[]{R.id.locationame,R.id.proname});
l.setAdapter(k);
}
l.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
String s=String.valueOf(arg2);
db.deleterow(s);
return true;
}
});
}
这是我的xml文件
activity_lists.xml
<ListView
android:id="@+id/listView1"
android:layout_width="fill_parent"
android:layout_height="250dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:longClickable="true"
android:layout_below="@+id/relativeLayout1" >
</ListView>
testviewnew.xml
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ishutup_pointer"
/>
<TextView
android:id="@+id/locationame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="31dp"
android:layout_toRightOf="@+id/imageButton1"
android:text="TextView"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageButton1"
android:layout_alignLeft="@+id/locationame"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:text="Profile" />
<TextView
android:id="@+id/proname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@+id/textView2"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:text="TextView" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:src="@drawable/ishutup_edit" />
xml中有两个imageButton,但没有任何侦听器,因此可以使用imageView更改。因此,您的代码必须是:
<ImageView
android:id="@+id/imageButton1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ishutup_pointer"
/>
<TextView
android:id="@+id/locationame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="31dp"
android:layout_toRightOf="@+id/imageButton1"
android:text="TextView"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageButton1"
android:layout_alignLeft="@+id/locationame"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:text="Profile" />
<TextView
android:id="@+id/proname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@+id/textView2"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:text="TextView" />
<ImageView
android:id="@+id/imageButton2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:src="@drawable/ishutup_edit" />
当您的
imageButton
想要收听时,请默认单击,如果您不想更改代码,可以添加android:genderantfocusability=“blocksDescendants”
关于testviewnew
的部分,正如我在评论中所说的那样,要删除对这些内容的侦听您的xml中有两个imageButton,但这些内容上没有任何侦听器,因此您可以使用imageView更改。因此,您的代码必须是:
<ImageView
android:id="@+id/imageButton1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ishutup_pointer"
/>
<TextView
android:id="@+id/locationame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="31dp"
android:layout_toRightOf="@+id/imageButton1"
android:text="TextView"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageButton1"
android:layout_alignLeft="@+id/locationame"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:text="Profile" />
<TextView
android:id="@+id/proname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@+id/textView2"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:text="TextView" />
<ImageView
android:id="@+id/imageButton2"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="@color/white"
android:src="@drawable/ishutup_edit" />
当您的
imageButton
想要收听时,默认情况下单击,如果您不想更改您的代码,您可以在testviewnew
的旁边添加android:genderantfocusability=“blocksDescendants”
,就像我在评论中所说的那样,删除收听这些内容您有任何错误吗?没有,当我按了很长一段时间后,没有人回应。日志上没有错误,例如,在长时间单击后,在中输入日志。。。你看到日志了吗?当我长按它时,行没有高亮显示。你的行上有任何可点击的小部件吗?像按钮或复选框?你有任何错误吗?没有,当我按下该行很长时间没有响应。日志上没有错误,例如,在长时间单击后,在中输入日志。。。你看到日志了吗?当我长按它时,行没有高亮显示。你的行上有任何可点击的小部件吗?喜欢按钮还是复选框?