我想要一个commons.xml布局文件,存储各种子视图,并能够通过代码扩展单个视图。
目标是能够通过findViewById()
从xml文件加载按钮,标签等,并能够通过MergeAdapter.addView(View v)
将它们添加到MergeAdapter。
//the following works
TextView text = new TextView(this);
text.setText("hellooo");
mMergeAdapter.addView(text);
//but how to instantiate the object from the xml definition ?
TextView text = **???** //R.layout.commons.xml, mytextviewid
text.setText("sigh :(");
mMergeAdapter.addView(text);
Commons.xml可能很简单:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/mytextviewid"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
<Button android:id="@+id/mybutton"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
</LinearLayout>
我没有特殊的性能要求。
答案 0 :(得分:0)
您可以使用XMLPullParser来解析资源XML并获取所需的节点,然后使用XML.asAttributeSet和this View constructor通过XML配置手动创建View的新实例< / p>