NewBieAndroiderはこちら。
ユーザーが1つの編集ボックスに1つのアルファベットのみを入力し、フォーカスが別のアルファベットに移動するコードを書いています。アルファベットでない場合、カーソルは編集ボックス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つの編集ボックスがあり、次の空のボックスに焦点を当てたいと思います...このロジックを実装するための提案。
ありがとう