0

NewBie Androider 在这里。

我正在编写一个代码,其中用户在一个编辑框中只输入一个字母,然后焦点移动到另一个。如果不是字母,则光标将保留在编辑框 1 如果用户删除字符,则光标将保留在同一编辑框。

此外,如果用户单击其中包含某些字符的编辑框,则单击时应将其删除。

下面是我的尝试

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_play);
          final EditText et1 = (EditText)findViewById(R.id.box1);
          final  EditText et2 = (EditText)findViewById(R.id.box2);

        et1.addTextChangedListener(new TextWatcher()
        {
            public void afterTextChanged(Editable s){
            }
            public void beforeTextChanged(CharSequence s,
            int start, int count, int after){

            }
            public void onTextChanged(CharSequence s,
            int start, int before, int count)
            {
                if(isAlphabet(et1.getText().toString())){
                    et2.requestFocus();
                }else{
                    et1.setText("");
                    et1.requestFocus();
                }
            }
        });
    }

另外我有四个编辑框,我想专注于下一个空框......实现这个逻辑的任何建议。

谢谢

4

2 回答 2

1

首先,因为您希望您的用户只输入字符而不是数字,然后给android:inputtype="text",以便 edittext 只能接受文本而不是数字,然后给android:maxLength="1",以便只能输入一个字符。

当单击编辑文本以删除/刷新编辑文本中的内容时,您必须实现编辑文本的onCLick()方法并执行:edittext.setText("")。您还应该通过 .requestFocus() 关注您希望焦点所在的编辑文本

于 2012-08-18T04:56:57.633 回答
1

在 layout.XML 中的每个edittext中,只需使用

安卓:输入类型=“文本”

android:digits="abcdefghijklmnopqrstuvwxyz."
于 2012-08-18T05:17:22.303 回答