我可以在列表视图中添加视图而无需使用xml文件吗

问题描述

我正在学习android,我想知道是否可以不使用xml文件作为视图模板而添加视图 ,任何帮助示例

解决方法

是的,只需使用.addView(),例如,如果您要向其添加TextView的ListView,则可以执行以下操作:

ListView yourListView = (ListView) activity.findViewById(R.id.yourListView);
TextView newTextView = new TextView(activity);
newTextView.setText("foobar");
yourListView.addView(newTextView);
如果您处于活动状态,则

activity应该为this,如果您是片段则为requireActivity()。 您可以设置此新TextView(或要添加的任何View)的许多其他属性,只需尝试在其后键入.set,然后查看建议。

,

您可以使用ViewGroup类提供的addView()方法以编程方式将视图添加到布局中。 首先,您应该使用findViewById<>()来引用您的布局。 然后,您必须创建一个视图以添加:

val listView = findViewById<LinearLayout>(R.id.list_view)
        val view = Button(this)
        view.layoutParams = LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT)
        listView.addView(view)

在上方,我为带有list_view id的线性布局添加了一个按钮。 布局参数是相应的宽度和高度。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...