实现原理: 当在某一个EditText 中输入文本后按回车键,系统将EditText 隐藏,并在EditText的位置显示一个按钮,按钮的文本就是在EditText 中输入的文本
注意: 不能将android:visibility 属性值设为invisible,如果设为invisible,虽然系统不会显示Button,但仍会留出Button的位置,然而将属性值设为gone,就彻底隐藏了Button
主要方法是:
public boolean onKey(View view,int keyCode,KeyEvent event){
if(keyCode == KeyEvent.KEYCODE_ENTER && count == 0){
//editTexts 表示editText数组,
editTexts[i].setVisibility(View.GONE);
//buttons 表示 button数组
buttons[i].setVisibility(View.VISIBLE);
buttons[i].setText(editTexts[i].getText());
i++;
count++;
}
else
count = 0;
return true;
}
由于在EditText 中按回车键会产生两次值为KEYCODE_ENTER 的键码,因此在这里使用count 计数来保证只处理第1 次回车引发的onKey事件.
具体代码 见 ch05_hideedittext工程