我想知道如何在我的代码中扩展我的布局中的View
类。
我看过不同的例子,例如:
listView = new ListView(this){
//Override some methods here
}
现在如果我的布局中已经有ListView
,我还想覆盖一些东西。我可以从布局中引用ListView
的唯一方法是:
listView = (ListView)findViewById(R.id.mylistView);
因此,从此示例中,如何覆盖列表视图的方法。 请我只是一个普通的android程序员。请赐教。
答案 0 :(得分:4)
您必须以编程方式构建布局(在大多数情况下这是繁琐且烦人的),或者在命名类中继承ListView并将其添加到布局中。这是第二个选项的样子:
public class MyListView extends ListView {
public MyListView(Context context) {
super(context);
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MyListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
// override other methods here
}
在布局文件中,使用
<com.your.package.MyListView
android:layout_width="..."
android:layout_width="..."
... />