如何从android更改android:inputType =“phone”到android:inputType =“textEmailAddress”?

时间:2012-09-07 04:25:24

标签: android

我是android的初学者,需要你的建议:

1。该应用即将使用两个单选按钮(短信或电子邮件)发送消息(短信或电子邮件)。

2. 启动时,将检查短信单选按钮,并且联系人/收件人的EditText处于android:inputType="phone"

3. 如果我点击EMAIL单选按钮,我希望将EditText更改为android:inputType="textEmailAddress"

我如何从MainActivity.java中执行此操作?

4 个答案:

答案 0 :(得分:1)

试试这个,它可能对你有帮助

editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);

答案 1 :(得分:0)

您可以使用此方法执行此操作:

et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);

答案 2 :(得分:0)

您可以对setInputType使用EditText方法。

尝试

edittext.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);

了解更多信息click here

答案 3 :(得分:0)

正如其他人所说的那样,改变输入类型的函数是setInputType函数,你可以用两种方式来使用它。

  1. 从代码中创建一个按钮侦听器。

    或者在元素中使用onClick选项。 < - 我将如何亲自完成并在下面显示

  2. `<RadioButton android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:onClick="setInputTypeToSMS"
             android:text="SMS">`
    `<RadioButton android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:onClick="setInputTypeToEmail"
             android:text="EMAIL">`
    

    然后在你的主要活动中

    public class SomeActivity extends Activity{
        private EditText editText;
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            editText = (EditText)findViewById(R.id.editText);
    
        }
        public void setInputTypeToEmail(View view)
        {
           editText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
        }
        public void setInputTypeToSMS(View view)
        {
           editText.setInputType(InputType.TYPE_CLASS_PHONE);
        }
    }