在 ListVIew 中使用自定义 TextView 的 LongClick 不工作

LongClick with Custom TextView in ListVIew NOT WORKING

我有一个 ListView,它有一个我从 here: FlowTextView

获得的自定义 TextView

问题是,如果我使用普通的默认 TextView,一切正常,但如果我使用此自定义文本视图,则如果在文本视图中单击,则所有单击事件(LongClick 和 OnClick)都不起作用,即仅单击事件在此自定义 TextView 无法到达的地方工作(我的列表行的边缘)。

我试过了

但是 none 它起作用了,或者也许我用错了方法...如果您认为这些方法中的任何一种起作用,请详细说明如何使用它

我在 FlowTextView 中的实现

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:background="#ff71ff34">


<uk.co.deanwild.flowtextview.FlowTextView

    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/textView2"

    android:text="Description"


    android:textSize="24sp"
    android:background="#1b1b1f"

    android:textColor="@android:color/white">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="#ffffbb52"/>

</uk.co.deanwild.flowtextview.FlowTextView>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="CodeLearn 1"
    android:background="#1b1b1f"
    android:textColor="@android:color/white"/></RelativeLayout>

在 OnCreate 内部

ListView mainList = (ListView)findViewById(R.id.listView1);
    new Connect(mainList,this).execute(aa);
    mainList.setClickable(true);
    mainList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener()
    {

        public boolean onItemLongClick(AdapterView <?> arg0, View arg1,
                                       int pos, long id) {
            // TODO Auto-generated method stub
            //  Toast.makeText(this, "Wrong Username/Password! TRY AGAIN!", Toast.LENGTH_LONG).show();
            Log.d("long clicked","pos: " + pos);

            return true;
        }
    });

activity_main.xml 包含根列表视图

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android"></ListView>

正如@Vikram 在评论中所说

Check line 88 of FlowTextView.java: Link. That should answer your question.

所以基本上解决方案是将该对象的 setOnTouchListener 设置为 null

setOnTouchListener(null)