Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么setOnItemLongClickListener不工作?_Android_Sqlite_Listview_Sql Delete - Fatal编程技术网

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”
,就像我在评论中所说的那样,删除收听这些内容

您有任何错误吗?没有,当我按了很长一段时间后,没有人回应。日志上没有错误,例如,在长时间单击后,在
中输入日志。。。你看到日志了吗?当我长按它时,行没有高亮显示。你的行上有任何可点击的小部件吗?像按钮或复选框?你有任何错误吗?没有,当我按下该行很长时间没有响应。日志上没有错误,例如,在长时间单击后,在
中输入日志。。。你看到日志了吗?当我长按它时,行没有高亮显示。你的行上有任何可点击的小部件吗?喜欢按钮还是复选框?