当我点击软键盘上的“DONE”按钮时如何进入下一个活动android

时间:2011-09-07 06:07:25

标签: android

当我点击软键盘我的键盘下降或隐藏但是我想在android.so的键盘上点击“完成”按钮时去下一个活动怎么做?

我的下一个问题是,如果我在布局中有2个编辑框,当我点击第一个编辑框然后在我的软键盘中“下一个”将出现进入下一个文本框,当我转到第二个文本框时它会改变“完成”。    提前谢谢....

X

3 个答案:

答案 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;
}

我希望它对你有帮助。