根据this post,可以在Java中以编程方式添加按钮。
我想基于布局构建按钮。有可能吗?
例如,
<!-- btn.xml-->
<Button
android:id="@+id/button_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="4dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="4dp"
android:minHeight="60dp"
android:onClick="myFunction"
android:textAllCaps="false" />
在我的Java代码中,我在String list
上构建按钮,如下所示:
final LinearLayout layout = findViewById(R.id.my_layout);
for(String label : stringList){
Log.d("BTN_ITERATION", "for label : " + label);
Button btn = new Button(getApplicationContext());
btn.setText(label);
layout.addView(btn);
}
对于每个按钮迭代,我想设置一个btn.xml
布局。
我考虑过类似的事情,但我不知道:
button = (button) View.inflate(this, R.layout.btn, null);
layout.addView(button);
谢谢! ;)
答案 0 :(得分:1)
请参见this similar question with answer。
尝试一下:
Button btn = (Button) inflater.inflate(R.layout.btn, layout, false);