`

AlertDialog中获取自定义控件

    博客分类:
  • UI
阅读更多

 

最近写了一个自定义布局的Dialog,运行效果如下:

 

 

然后我想获取到自定义布局中的EditText控件,并得到其中的字符串,但是使用send_email = (EditText) findViewById(R.id.send_email_dialog_et);并不能获取到控件对象,经测试发现send_email对象为null。。。。

没办法,只好到一个技术群里问一下别人,很幸运我找到了解决方法,关键代码如下:

Java代码 
  1. final View layout = inflater.inflate(R.layout.send_email_dialog,  
  2.                 (ViewGroup) findViewById(R.id.send_email_dialog_ll));  
  3. final EditText sendEmailCon_ET = (EditText) layout.findViewById(R.id.send_email_dialog_et);  

那位提供解决方法的网友说:想要获取自定义布局中的控件必须调用你所定义的View的findViewById方法,而不能像获得其他控件一样直接调用findViewById方法。。。。

 

最后附上dialog的自定义布局代码:

 

Html代码 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@+id/send_email_dialog_ll"  
  4.     android:orientation="vertical"  
  5.     android:layout_width="match_parent"  
  6.     android:layout_height="match_parent">  
  7.     <TextView  
  8.         android:layout_width="wrap_content"  
  9.         android:textAppearance="?android:attr/textAppearanceMedium"  
  10.         android:layout_height="wrap_content"  
  11.         android:text="To : wuxianglong098@163.com"  
  12.         android:layout_gravity="center"  
  13.         android:layout_marginTop="4dp" />  
  14.     <EditText  
  15.         android:id="@+id/send_email_dialog_et"  
  16.         android:layout_height="wrap_content"  
  17.         android:layout_width="fill_parent"  
  18.         android:inputType="textMultiLine"  
  19.         android:lines="4"  
  20.         android:hint="@string/send_email_hint"  
  21.         android:scrollbarAlwaysDrawVerticalTrack="true"  
  22.         android:layout_marginTop="9dp">  
  23.         <requestFocus></requestFocus>  
  24.     </EditText>  
  25. </LinearLayout>  

 

THE END!

分享到:
评论

相关推荐

    android 自定义AlertDialog 与Activity相互传递数据

    主要实现功能: 1、从Activity的TextView中获取字符串设置到...2、如何对自定义AlertDialog中的控件进行操作? 解答: 于fragment中的操作类似,首先要获取该layout的view,然后通过该view获取到其中控件进行操作。

    026_android UI组件之 AlertDialog的自定义布局

    // 获取自定义布局中的控件 EditText etInput = customView.findViewById(R.id.et_input); CheckBox cbCheckbox = customView.findViewById(R.id.cb_checkbox); // 设置按钮点击事件 builder.setPositiveButton("OK...

    AlertDialog和自定义提示框

    在Android开发中,`AlertDialog`是系统提供的一种基础对话框组件,用于向用户展示重要的信息或者获取用户的简单反馈。它通常包含一个标题、一个主要消息、一个或多个按钮,以及可选的列表项。`AlertDialog`的设计...

    AlertDialog控件

    如果要在自定义布局中添加,可以使用`RadioButton`或`CheckBox`控件,并通过监听其点击事件来获取用户的选择。 最后,如果需要在对话框中接收用户的输入,可以使用`setInputType`和`setView`配合`EditText`。如下所...

    自定义日期和时间同时控件

    在实际应用中,这个自定义控件可能通过一个`DialogFragment`或者自定义的`AlertDialog`来展示。这样可以方便地将其插入到任何Activity或Fragment中,而且可以控制其出现的位置和动画效果。开发者可能还提供了API来...

    自定义AlertDialog

    在Android开发中,`AlertDialog`是系统提供的一种用于与用户交互的组件,它通常用于显示警告、确认信息或者获取用户输入。默认的`AlertDialog`样式虽然实用,但有时可能无法满足开发者对界面个性化的需求。因此,...

    android 自定义AlertDialog弹出键盘可以输入的

    在Android开发中,`AlertDialog`是系统提供的一种用于显示警告、确认信息或用户输入的对话框。默认情况下,`AlertDialog`并不自带输入框,但我们可以自定义它来实现弹出键盘以便用户输入信息。这个场景通常发生在...

    Android编程实现AlertDialog自定义弹出对话框的方法示例

    在自定义布局文件中,可以添加各种控件,例如EditText、Button、TextView等,并通过findViewById方法获取到这些控件,并进行相应的业务逻辑处理。 三、事件监听实现技巧 事件监听是Android开发中的一种重要技术,...

    自定义组合控件之选择对话框

    本文将深入探讨如何创建一个自定义的选择对话框,这将涉及到Android UI设计、对话框的构建以及自定义控件的实现。 首先,让我们了解Android中的对话框(Dialog)。对话框是应用程序在主界面上叠加的一个小型窗口,...

    Android之简单的登录界面的实现、使用 AlertDialog和全局广播实现被强制下线功能、自定义一个带有清除按钮的EditText

    2. **AlertDialog的使用**:在Android中,AlertDialog是一种轻量级对话框,可以用于提示用户信息或者获取用户确认。在登录场景中,如果用户名或密码错误,可以使用AlertDialog显示错误信息。通过Builder类实例化...

    Android自定义单例AlertDialog详解

    // 获取自定义Dialog布局中的控件 lLayout_bg = (LinearLayout) view.findViewById(R.id.lLayout_bg); txt_title = (TextView) view.findViewById(R.id.txt_title); txt_title.setVisibility(View.GONE); txt_...

    掌握AlertDialog控件的使用方法;

    在Android开发中,`AlertDialog`控件是一种非常重要的组件,用于向用户展示各种警告、确认或选择信息。它提供了一种优雅的方式与用户交互,确保用户了解应用中的关键信息或作出必要的决策。以下是对`AlertDialog`...

    android自定义dialog和Toast

    // 在这里可以获取布局中的元素并进行设置 return new AlertDialog.Builder(requireContext()) .setView(dialogView) .setTitle("自定义Dialog") .create(); } } ``` 3. **显示Dialog**:在需要的地方,...

    Android开发丶自定义带EditText的AlertDialog

    在Android应用开发中,我们经常会遇到需要自定义对话框(AlertDialog)的情况,特别是在用户需要输入信息的场景。本文将详细讲解如何创建一个带有EditText的自定义AlertDialog,以便满足用户交互需求。 首先,我们...

    自定义单选,多选对话框(android)

    在Android开发中,创建自定义的用户界面是提高应用程序用户体验的关键步骤之一。本文将深入探讨如何构建一个自定义的单选和多选对话框,这是一个适用于各种项目的UI模板。通过少量的代码改动,开发者可以轻松地对这...

    AndroidAlertDialog:Android 自定义 AlertDialog

    在自定义视图中,你可以添加任意的控件,如`TextView`, `EditText`, `Button`等,并通过findViewById()方法获取它们的引用,以便在代码中进行操作。 ### 自定义行为 自定义行为主要是为对话框的按钮或其他元素添加...

    自定义AlterDialog,并给控件添加监听事件

    在Android开发中,有时系统默认的AlertDialog无法满足我们的所有需求,这时我们需要自定义AlterDialog来实现更加个性化的功能和界面风格。自定义AlterDialog能够帮助我们更好地控制对话框的外观和交互,使其与项目的...

    Android AlertDialog、ActionSheetDialog模仿IOS7风格对话框.rar

    主要使用了AlertDialog、ActionSheetDialog来实现,AlertDialog的方法和android中自带的用法相似,ActionSheetDialo的用法和AlertDialog差不多,基本的使用思路是:获取Dialog布局、获取自定义Dialog布局中的控件、...

    ANDROID中自定义对话框AlertDialog使用示例

    在`AlertDialogDemo`类中,首先需要初始化布局中的EditText控件,然后在`login`方法中构建`AlertDialog`。 ```java public class AlertDialogDemo extends AppCompatActivity { private EditText et_username, et_...

Global site tag (gtag.js) - Google Analytics