为了账号安全,请及时绑定邮箱和手机立即绑定

默认情况下,带有数字小键盘的EditText,但允许字母字符

/ 猿问

默认情况下,带有数字小键盘的EditText,但允许字母字符

aluckdog 2019-12-13 15:09:41

我有一个EditText框,我想,当它被选择的数字小键盘,因为自带的默认键盘大部分时间的用户将输入数字。但是,我希望让用户也输入字母字符,如果他们需要。使用android:inputType="number"限制输入到只包含数字。我有什么选择?


查看完整描述

3 回答

?
白板的微信

定义你的XML这样您的EditText:


<EditText 

    android:id="@+id/txtOppCodigoCliente"

    android:inputType="textVisiblePassword"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:maxLength="11"

    android:hint="@string/strCodigoCliente"/>

输出: 机器人:的inputType = “textVisiblePassword”


一排数字和其余字母。



查看完整回答
反对 回复 2019-12-14
?
慕桂英546537

我建议一个更强大的解决方案:


向用户展示选择输入类型的能力:


所需的修复


- 更好地显示/隐藏输入选择按钮


- 可能删除的建议时,输入类型为信


在此处输入图片说明


这是活动:


package mobi.sherif.numberstexttextview;


import android.os.Bundle;

import android.app.Activity;

import android.text.InputType;

import android.view.View;

import android.view.View.OnFocusChangeListener;

import android.widget.EditText;


public class MainActivity extends Activity {


    EditText mEdit;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        mEdit = (EditText) findViewById(R.id.input);

        mEdit.setOnFocusChangeListener(new OnFocusChangeListener() {


            @Override

            public void onFocusChange(View view, boolean focused) {

                findViewById(R.id.llmenu).setVisibility(focused?View.VISIBLE:View.GONE);

            }

        });

    }


    public void onNumbers(View v) {

        mEdit.setInputType(InputType.TYPE_CLASS_NUMBER);

    }


    public void onLetters(View v) {

        mEdit.setInputType(InputType.TYPE_CLASS_TEXT);

    }


}

这是活动的xml: activity_main.xml


<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:id="@+id/scrollview"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:layout_alignWithParentIfMissing="true"

        android:layout_above="@+id/llmenu" >


        <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content" >


            <EditText

                android:id="@+id/input"

                android:layout_width="match_parent"

                android:layout_height="wrap_content"

                android:inputType="number" >


                <requestFocus />

            </EditText>

        </LinearLayout>

    </ScrollView>


    <LinearLayout

        android:id="@+id/llmenu"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:background="#000000"

        android:padding="0dp" >


        <Button

            android:id="@+id/buttonnumbers"

            android:layout_width="0dp"

            android:onClick="onNumbers"

            android:layout_height="match_parent"

            android:layout_weight="1"

            android:text="Numbers" />


        <Button

            android:id="@+id/buttonletters"

            android:layout_width="0dp"

            android:layout_height="match_parent"

            android:layout_weight="1"

            android:onClick="onLetters"

            android:text="Letters" />

    </LinearLayout>


</RelativeLayout>



查看完整回答
反对 回复 2019-12-14
?
萧十郎

这是您要寻找的:


通过EditText以下方式在您的xml中定义您的代码:


<EditText

    android:id="@+id/etTest"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:ems="10"

    android:hint="@string/hint">


</EditText>

然后在您的中调用以下命令onCreate():


etTest = (EditText) findViewById(R.id.etTest);

etTest.setRawInputType(InputType.TYPE_CLASS_NUMBER);

// Note the "Raw"

每当您单击EditText现在时,都可以输入数字和字母!(首先显示数字键盘)



查看完整回答
反对 回复 2019-12-14

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信