我有一个XML文件,描述了一个包含按钮,图像和文本的对话框。为了覆盖onClick并为对话框中的所有小部件调用它,我编写了一个扩展RelativeLayout的子类。现在我想将XML文件与子类关联起来。我可以不使用inflater吗?
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"
android:clickable="true"
android:duplicateParentState="true"
android:onClick="onClick"
android:src="@drawable/ic_launcher" />
<EditText
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:duplicateParentState="true"
android:ems="10"
android:focusable="false"
android:focusableInTouchMode="false"
android:inputType="textMultiLine"
android:text="text" >
<requestFocus />
</EditText>
</RelativeLayout>
谢谢, 西蒙
答案 0 :(得分:3)
不确定。不要输入RelativeLayout,而是使用子类的完整包名。
<com.example.MySubclassRelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
...
</com.example.MySubclassRelativeLayout >
答案 1 :(得分:0)
您可以将这些小部件放入布局,例如dialogwidgets.xml,然后您可以使用include标签插入您想要的所有布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:background="@color/app_bg"
android:gravity="center_horizontal">
<include layout="@layout/dialogwidgets"/>
<TextView android:layout_width=”match_parent”
android:layout_height="wrap_content"
android:text="@string/hello"
android:padding="10dp" />
...
</LinearLayout>