すべてに。現在、キーボードから押された英数字キーでダイアログ(EditTextを含む)を起動するアプリに取り組んでいます。ここで、EditTextボックスに表示されるユーザータイプを指定します。これは、正しく機能している唯一の問題です。最初に押されたcharキーを使用して、EditTextボックスのダイアログを開きます。明らかに正しい最初のcharキーがありません。しかし、私はその文字を文字列として個別に取得します。そのcharキーを、ユーザーからの1文字目として入力されたEditTextに添付(表示)したいと思います。私はこれを試しました、
{
final EditText search_d_text = (EditText) dialog
.findViewById(R.id.search_text1);
search_d_text.setText(s1);// si is the 1st char key launch dialog(containing edittext).
search_d_text.setInputType(InputType.TYPE_NULL);
search_d_text
.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (event != null
&& event.getAction() == KeyEvent.ACTION_DOWN) {
// Handle enter key
return true;
}
if (actionId == EditorInfo.IME_ACTION_NEXT) {
// Handle IME NEXT key
return true;
}
if (actionId == EditorInfo.IME_ACTION_DONE) {
// Handle IME DONE key
return true;
}
return false;
}
});
search_string = search_d_text.getText().toString();
enterd_text = search_d_text.getText();
// collecting input text.
}
私が得ているのは例えばです。MASKと入力すると、ASKMと表示されます。
setText(s1)は、常に最後の文字として機能します。1番目のキーから始まる単語またはユーザー入力を表示したいと思います。ありがとうございました。