2017-04-09 1 views
0

アンドロイドキーボードのENTERキーをクリックしたときにテキストをトーストするアプリが作成されましたが、デスクトップキーボードの作業はデスクトップキーボードのenterキーをクリックすると意味します。
それでは、アンドロイドキーボードのEnterキーのために何ができますか?KeyBoard:EditTextでsetonkeylistenerが動作しない

public class MainActivity extends AppCompatActivity implements View.OnKeyListener{ 

EditText editText; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    editText=(EditText)findViewById(R.id.editText); 
    editText.setOnKeyListener(this); 
} 

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if(keyCode==KeyEvent.KEYCODE_ENTER){ 
     Toast.makeText(this,editText.getText().toString()+"Enter Pressed",Toast.LENGTH_LONG).show(); 
     return true; 
    } 
    return false; 
} 

}

答えて

1

これを使用してみてください:あなたの上setOnEditorActionListenerを使用KeyEvent.ACTION_DOWN

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if ((event.getAction() == KeyEvent.ACTION_DOWN) 
      && (keyCode == KeyEvent.KEYCODE_ENTER)) { 
     Toast.makeText(this,editText.getText().toString()+"Enter Pressed",Toast.LENGTH_LONG).show(); 
     return true; 
    } 
    return false; 
} 

EDIT

を使用して第1あなたの行動をフィルタリングHERE

コードです

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if ((actionId == EditorInfo.IME_ACTION_DONE) || ((event.getKeyCode() == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN))){ 
       Toast.makeText(this,editText.getText().toString()+"Enter Pressed",Toast.LENGTH_LONG).show(); 
       return true; 
      } 
      else{ 
       return false; 
      } 
     } 
    }); 

すると、あなたが持っていたXMLで確認してください:いいえ

<EditText 
    android:imeOptions="actionDone" 
    android:inputType="text"/> 
+0

をその私はちょうどそのは今働いが、その代わりに、その、正しい目盛りを示すキーボード上の記号を入力して表示されないOK – Neel

+0

を試して動作していません!まあそれはこれで大丈夫ですか??? – Neel

+0

はいいいです...ここに公式の文書がありますhttps://developer.android.com/training/keyboard-input/style.html – rafsanahmad007

関連する問題