0

请在下面找到更新的代码。

以下是代码:

package com.Wase.edittext;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.Toast;
import com.Wase.edittext.R;
import android.widget.TextView;

public class MyAndroidAppActivity extends Activity {

 private EditText edittext;
 private EditText edittext1;

 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my_android_app);

    addKeyListener();
 edittext.requestFocus();
}



 public void addKeyListener() {

    // get edittext component
    edittext = (EditText) findViewById(R.id.editText);
    edittext1 = (EditText) findViewById(R.id.editText1);



    // add a keylistener to keep track user input
    edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int keyCode, KeyEvent event) {

    // if keydown and "enter" is pressed
    if ((event.getAction() == KeyEvent.ACTION_DOWN)
        && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER))
    {
        edittext1.requestFocus();
    }

    edittext1.setOnEditorActionListener(new TextView.OnEditorActionListener() {
         @Override
         public boolean onEditorAction(TextView a, int b, KeyEvent c) {

    // if keydown and "enter" is pressed
    if ((c.getAction() == KeyEvent.ACTION_DOWN)
        && (c.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {

        //hide the keyboard
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
                imm.hideSoftInputFromWindow(edittext1.getWindowToken(), 0);
    // display a floating message
        Toast.makeText(MyAndroidAppActivity.this,
            edittext.getText() + " " + edittext1.getText(), Toast.LENGTH_SHORT).show();
        return true;
    }

        return false;
}
 });
        return false;
}
    });
 }
}

此代码仅适用于键盘单击或系统键盘单击。我想隐藏虚拟键盘并在点击 android 虚拟键盘的 enter 键时显示 toast 消息。

请帮助我。

4

1 回答 1

1

onKeyListener每次在edittext中按下一个键时,您都在为edittext1设置一个新的......这实际上是您想要做的吗?

您必须检测何时按下回车键的代码似乎很好。您将需要添加以下代码来关闭键盘并敬酒。

editText.setOnEditorActionListener(new TextView.OnEditorActionListener(){
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

            if ((event.getAction() == KeyEvent.ACTION_DOWN)
                && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER))
            {
                InputMethodManager imm = (InputMethodManager)getSystemService(
                    Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
                Toast.makeText(MyAndroidAppActivity.this, "My message", Toast.LENGTH_SHORT).show();
            }
       }
}
于 2013-12-23T16:10:02.703 回答