问题描述
我正在学习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的线性布局添加了一个按钮。 布局参数是相应的宽度和高度。