對話框中EditText的setOnKeyListner不工作。setOnKeyListener在對話框中不工作
ParameterDialog有一個edittext,我們不應該輸入空格。所以我實現setOnKeyListener編輯文本,但我仍然可以輸入空間。
那麼我怎樣才能得到鍵輸入edittext除setOnKeyListner()?
public void parameterDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final TextInputLayout tnlAddParameter = new TextInputLayout(this);
final EditText etAddParameter = new EditText(this);
etAddParameter.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
etAddParameter.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
Toast.makeText(getBaseContext(),""+keyCode,Toast.LENGTH_SHORT).show();
if (event.getKeyCode() == KeyEvent.KEYCODE_SPACE) {
return true;
}
return false;
}
});
tnlAddParameter.addView(etAddParameter);
builder.setView(tnlAddParameter);
builder.setTitle(R.string.title_add_parameter)
.setPositiveButton(R.string.add_template,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
String param = etAddParameter.getText().toString().trim();
}
})
.setNegativeButton(R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
dialog.dismiss();
}
});
// create alert dialog
final AlertDialog alertDialog = builder.create();
// show it
alertDialog.show();
// Text change listener to enable/disable Proceed button.
}
你可以簡單地驗證了空間 –
的EditText在填寫的EditText,用戶不應該能夠添加空格,如果用戶按空格鍵敬酒消息應該顯示。 – Manukumar