ユーザーが EditText から TextView にテキストを入力できるようにしようとしています。ただし、ユーザーが何かを入力して修正したい場合は、空の EditText でスペースを押して、最後に書き戻したものを取得できるようにしたいと考えています。最初の問題は、「hello」と入力し、Enter キーを押して TextView に追加し (EditText からクリアします)、スペースを押すと、EditText に「hello」が含まれることです。私が望んでいるものではなく、その理由がわかりません。
入力したテキストを保持文字列に配置する私のコード:
b1 = ti.getText().toString();
次に、ユーザーがスペース キーを押すと、EditText で b1 が取得されるはずです。代わりに、次のようになります" " + b1
。この追加のスペースがそこにあるのはなぜですか?
if((event.getAction()==KeyEvent.ACTION_DOWN)&&(key == KeyEvent.KEYCODE_SPACE)){
if(ti.getText().toString().equals("")){
ti.setText(b1);
}
2 つ目の大きな問題は、上記のコードがハードウェア キーボードでしか機能しないことです。ソフトウェア キーボードのスペースを押すキー イベントは何ですか?
これはすべて onKeyListener にあります。