如何将视图绑定到alertdialog并在android中使用此视图中的子视图?
我有一个这样的视图:
<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 方法。不过,我不知道如何在绑定的View中使用EditText、TextView等子项。例如,我想在单击 AlertDialog 中的“确定”按钮后获取某些 TextView 中的文本。
有人可以帮助我吗?提前致谢。
I have a View like this:
<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>
Now I want to bind this view to a AlertDialog. I just know that I can use the .setView method. Nevertheless, I do not know how to use the children such as EditText, TextView in the binded View. For example, I want to get the text in some TextView after clicking OK button in the AlertDialog.
Could anybody help me please. Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要将布局膨胀到对话框的视图中,并从膨胀的视图中检索 TextViews/EditTexts:
you need to inflate your layout into dialog's view and retrieve TextViews/EditTexts from the inflated view:
我假设您已将视图扩展为视图对象,如下所示:
您可以使用该视图的 id 来获取子视图:
I am assuming that you have inflated your view into view object, as below:
you can fetch children views by using ids of that view.: