我有这样的观点:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tvDialogTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Information"
android:padding="6dip"
android:textStyle="bold"/>
<TextView
android:id="@+id/tvDialogEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email: "
android:padding="6dip"
android:textStyle="bold"
android:layout_below="@id/tvDialogTitle"/>
<EditText
android:id="@+id/etDialogEmail"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:layout_below="@id/tvDialogTitle"
android:layout_toRightOf="@id/tvDialogEmail"/>
<TextView
android:id="@+id/tvDialogPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password: "
android:padding="6dip"
android:textStyle="bold"
android:layout_below="@id/etDialogEmail"/>
<EditText
android:id="@+id/etDialogPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:layout_below="@id/etDialogEmail"
android:layout_toRightOf="@id/tvDialogPassword"/>
<TextView
android:id="@+id/tvDialogNumberRe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Re- number: "
android:padding="6dip"
android:textStyle="bold"
android:layout_below="@id/etDialogPassword"/>
<EditText
android:id="@+id/etDialogNumberRe"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:layout_below="@id/etDialogPassword"
android:layout_toRightOf="@id/tvDialogNumberRe"/>
<TextView
android:id="@+id/tvDialogEmailRe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Re- email: "
android:padding="6dip"
android:textStyle="bold"
android:layout_below="@id/etDialogNumberRe"/>
<EditText
android:id="@+id/etDialogEmailRe"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:layout_below="@id/etDialogNumberRe"
android:layout_toRightOf="@id/tvDialogEmailRe"/>
<TextView
android:id="@+id/tvDialogVerifyCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Verify code: "
android:padding="6dip"
android:textStyle="bold"
android:layout_below="@id/etDialogEmailRe"/>
<EditText
android:id="@+id/etDialogVerifyCode"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:layout_below="@id/etDialogEmailRe"
android:layout_toRightOf="@id/tvDialogVerifyCode"/>
</RelativeLayout>
</ScrollView>
现在我想将此视图绑定到AlertDialog。我只知道我可以使用.setView方法。不过,我不知道如何在绑定视图中使用EditText,TextView等子项。例如,我想在AlertDialog中单击OK按钮后在某些TextView中获取文本。
是的,请有人帮助我。提前致谢。答案 0 :(得分:1)
您需要将布局扩展到对话框的视图中,并从膨胀的视图中检索TextViews / EditTexts:
LayoutInflater li = getLayoutInflater();// LayoutInflater.from(getBaseContext());
View view = li.inflate(R.layout.your_dialog_layout, null);
EditText email = (EditText) view.findViewById(R.id.etDialogEmail);
TextView title = (TextView) view.findViewById(R.id.tvDialogTitle);
//and your other stuff....
AlertDialog.Builder bldr = new AlertDialog.Builder(getBaseContext());
bldr.setView(view);
AlertDialog diag = bldr.create();
答案 1 :(得分:1)
我假设您已将视图夸大到视图对象中,如下所示:
LayoutInflater mInflater= mContext.getSystemService(mContext.Layout_Inflater_Service);
View view=mInflater.inflate(R.layout.dialog);
dialog.setViw(view);
您可以使用该视图的ID来获取子视图。:
TextView txt=(TextView)view.findViewById(R.id.tvDialogTitle);