当我点击软键盘我的键盘下降或隐藏但是我想在android.so的键盘上点击“完成”按钮时去下一个活动怎么做?
我的下一个问题是,如果我在布局中有2个编辑框,当我点击第一个编辑框然后在我的软键盘中“下一个”将出现进入下一个文本框,当我转到第二个文本框时它会改变“完成”。 提前谢谢....
X
答案 0 :(得分:5)
最好在布局中添加一些按钮,因为所有Android手机在使用imeoptions时都不会提供一致的行为。
这似乎是一个错误。不同的制造商为他们的手机制作了一个自定义键盘,这可能不像Android标准键盘那样完全。此问题之前已经提出过。大多数人通过覆盖onKey事件或使用TextWatcher类来克服此问题。已经提交了关于此
的错误http://code.google.com/p/android/issues/detail?id=2882
您可以使用侦听器来检查imeoptions
incomeInput.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE){
//Do your stuff here
return true; // mark the event as consumed
}
return false;
}
}
答案 1 :(得分:1)
您需要实现OnEditorActionListener接口。
代码如下:
public class Main extends Activity implements OnEditorActionListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
}
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
startActivity(new Intent());
return true;
}
return false;
}}
答案 2 :(得分:0)
将setOnKeyListener与第二个EditText一起使用,并在onKey方法中执行类似的操作。
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN)
performYourAction();
return false;
}
我希望它对你有帮助。