NewBie Androider在这里。
我正在编写一个代码,用户在一个编辑框中只输入一个ALPHABET,然后焦点移动到另一个。如果它不是Alphabet,则光标将保留在编辑框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();
}
}
});
}
此外,我有四个编辑框,我想专注于下一个空框...任何建议实现此逻辑。
谢谢
答案 0 :(得分:1)
首先,因为您希望您的用户只输入字符而不是数字,然后提供android:inputtype="text"
,以便编辑文本只能获取文本而不是数字,然后提供android:maxLength="1"
,以便只能输入一个字符。< / p>
当点击ediitext以删除/刷新edittext中的内容时,您必须实现edittext的onCLick()
方法并执行:edittext.setText("")
。您还应该通过.requestFocus()
答案 1 :(得分:1)
在layout.XML中的每个edittext中只需使用
机器人:的inputType = “文本”
android:digits="abcdefghijklmnopqrstuvwxyz."