如何更改android:inputType=";电话“;到android:inputType=";textEmailAddress";来自java?

如何更改android:inputType=";电话“;到android:inputType=";textEmailAddress";来自java?,android,Android,我是android的初学者,需要你的建议: 1。应用程序将使用两个单选按钮(sms或电子邮件)发送消息(sms或电子邮件) 2。启动时,将选中SMS单选按钮,联系人/接收者的编辑文本将打开android:inputType=“phone” 3.如果单击电子邮件单选按钮,我希望编辑文本更改为android:inputType=“textEmailAddress” 如何从MainActivity.java执行此操作 您可以使用以下方法: et.setInputType(InputType.TYPE_

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

1。应用程序将使用两个单选按钮(sms或电子邮件)发送消息(sms或电子邮件)

2。启动时,将选中SMS单选按钮,联系人/接收者的编辑文本将打开
android:inputType=“phone”

3.如果单击电子邮件单选按钮,我希望编辑文本更改为
android:inputType=“textEmailAddress”


如何从MainActivity.java执行此操作

您可以使用以下方法:

et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);

您可以对
EditText
使用
setInputType
方法

试一试


有关更多信息

正如其他人所说,更改输入类型的函数将是setInputType函数,您可以通过几种方式使用它

  • 从代码中创建一个按钮侦听器


    或者在元素中使用onClick选项 试试这个,它可能对你有帮助

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

    查看您的
    setInputTypetoEmail
    SMS
    方法,应该使用
    view
    而不是
    editText
    。我不确定我是否遵循了您的要求,我正在将现有变量editText修改为每个例程中的不同类型。哪一个是(通过使用findViewById)指向需要不同输入类型的xml元素的“指针”。那么为什么要向该方法发送
    视图
    ?这有什么用?我怀疑?我可能错了,但我的印象是onClick需要这些功能,我也可能错了,这是我过去在应用程序中所做的,但是如果我不需要“视图”,我可以使用它。让我做一些检查。从这里的链接来看,这是一个抽象的空白。我认为视图(或真正的视图)是它工作所必需的。大家好,请允许我澄清一下:当发送短信时,它会显示手机键盘(键入号码),因此将rad按钮更改为“textEmailAddress”将提供电子邮件/信函键盘。我说清楚了吗?。提前谢谢!谢谢你,阿普利安,这就是我需要的。谢谢你,拉姆,这就是我需要的。
    `<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);
        }
    }
    
    editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);