Java Android扩展列表视图

Java Android扩展列表视图,java,android,xml,listview,Java,Android,Xml,Listview,我创建了自己的ListView类(通过TouchEvent检测扩展) 这是我在layou contacts_activity.xml中定义它的方式 <com.my.aclient.ui.MyListView android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/listView"/> L

我创建了自己的ListView类(通过TouchEvent检测扩展)

这是我在layou contacts_activity.xml中定义它的方式

<com.my.aclient.ui.MyListView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/listView"/>
Logcat stacktrace中报告的错误

二进制XML文件行#106:膨胀类时出错 com.my.aclient.ui.MyListView


当我只使用ListView时,一切都很好。什么会导致此问题?

因为您要创建自定义视图,所以必须实现三种不同的构造函数:

View(Context context)
View(Context context, AttributeSet attrs)
View(Context context, AttributeSet attrs, int defStyleAttr)
然后,您只需为其中每一项委派
super()
。所有这些构造函数都是从XML文件扩展视图所必需的

一个更简单的解决方案是使用常规的
ListView
并创建
View.OnTouchListener
的子类。然后,您只需在
onCreate()
方法中调用
setOnTouchListener()
,或在
onCreateView()中调用
,如果您使用的是片段

this.setContentView(R.layout.contacts_activity);
View(Context context)
View(Context context, AttributeSet attrs)
View(Context context, AttributeSet attrs, int defStyleAttr)