我在 getGroupView() 方法下使用可扩展列表,我正在遵循布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/groupheaderbg" android:layout_marginLeft="30dp">
<ImageView
android:id="@+id/groupimgview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:contentDescription="@string/groupImageViewDesc"
android:padding="@dimen/TENDP"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/lblheader"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/childgroupimgview"
android:singleLine="true"
android:text="@string/groupImageViewDesc"
android:textIsSelectable="true"
android:textSize="18sp"
android:textStyle="bold"
android:gravity="center_vertical"
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
/>
</RelativeLayout>
由于 textview 作为 textview 未将点击事件传递给可展开列表项,可展开列表未展开和折叠。我尝试了以下方法,所以现在 textview 选择菜单没有出现,但问题仍然存在(没有将控制权传递给列表项)。
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
/>
除此之外,我还尝试过遵循低谷代码。
tv.setOnClickListener(null);
tv.setFocusable(false);
tv.setAutoLinkMask(Linkify.ALL);
tv.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// return TRUE since we want to consume the event
return false;
}
});
我需要拦截触摸事件吗?如果是,那么请提供相同的建议/建议。
或者有什么方法可以指示 textview 将触摸事件/单击事件移交给它的父视图。
感谢您宝贵的时间。