2

如何使 Android 中的 EditText 仅从 Java 文件而不是 XML 中获取数字输入?我还需要将其设为最多允许 6 个数字的密码字段吗?

我检查了Android: How do you create an EditText feild in java class

以及 如何从 java 代码创建 EditText 数字(有符号和无符号十进制)

4

4 回答 4

4

这在 XML 中很容易。这就是我们如何处理这个java文件。

EditText et = new EditText(context);                     
// setting input type filter        
et.setInputType(InputType.TYPE_CLASS_NUMBER);                    
// setting input max length
InputFilter maxLengthFilter = new InputFilter.LengthFilter(inp.getLength());
et.setFilters((new InputFilter[]{ maxLengthFilter }));
// settin it to password 
et.setTransformationMethod(PasswordTransformationMethod.getInstance());
于 2012-04-30T13:59:27.500 回答
0

将 setInputType 用于以下一个或多个值:

http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType

于 2012-04-30T13:59:48.297 回答
0

我已经这样做了XML,只需添加

android:numeric="decimal

在里面<EditText />

于 2012-04-30T14:06:56.560 回答
0

做这个:

LinearLayout mLinearLayout = new LinearLayout(this);
mLinearLayout = (LinearLayout)findViewById(R.id.mylinearlayout);

Button lButton = (Button)findViewById(R.id.mybtnid);
lButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
    EditText lEditText = new EditText(this);
    lEditText .setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 
                                         LayoutParams.WRAP_CONTENT));
     lEditText.SetText("Text Here");
     mLinearLayout.addView(lEditText);

EditorInfo ed = new EditorInfo();
ed.inputType = InputType.TYPE_CLASS_PHONE;                          
lEditText.setInputType(ed.inputType);

InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(6);
lEditText.setFilters(FilterArray);

或查看此博客以了解最大长度限制

Aditya的答案有密码的方法,我认为它更好

最好的祝福

于 2012-04-30T14:13:32.957 回答