gpt4 book ai didi

java - 如何从布局重写 View 的方法?

转载 作者:行者123 更新时间:2023-12-01 18:18:43 24 4
gpt4 key购买 nike

我想知道如何从我的代码扩展布局中的 View 类。我见过不同的例子,例如:

listView = new ListView(this){
//Override some methods here
}

现在,如果我的布局中已经有了 ListView 并且我仍然想覆盖某些内容,该怎么办?我可以从布局内部引用 ListView 的唯一方法是:

listView = (ListView)findViewById(R.id.mylistView);

因此,从这个示例中,我如何重写 ListView 的方法。拜托,我只是一个普通的 Android 程序员。请赐教。

最佳答案

您要么必须以编程方式构建布局(大多数时候这很乏味且烦人),要么在命名类中子类化 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="..."
... />

关于java - 如何从布局重写 View 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com