0

ソフトキー「完了」が押されたときにそれを検出して、トーストメッセージが表示されるようにしたい。ここで同じ質問についてこの投稿を見ましたが、ソリューションを正確に実装する方法について混乱しています。

提供されるソリューションは次のとおりです。

 editText = (EditText) findViewById(R.id.edit_text);

 editText.setOnEditorActionListener(new OnEditorActionListener() {
     @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            // toast message
        }
        return false;
    }
 });

私の質問はこれです:

  1. editTextはonCreateメソッドの下で定義されていると思いますか?
  2. コード全体が onCreate メソッドの下にあると思われますか?
4

4 に答える 4

1

好きなところに置くことができますEditText。コードを変更しやすくすると思うので、私はすべてをより小さなメソッドに分割する傾向がありますが、ほとんどすべてをonCreateメソッドに入れることは非常に一般的な方法です。異なる方法の間。

于 2013-01-23T22:11:07.897 に答える
1

要するに、はい。EditText特定の条件下でのみ をアクティブ化EditTextする場合を除き、必要に応じて が機能する場所に配置できます (クリック イベント、ランナブル、または Web 呼び出しの後など)。

于 2013-01-23T22:05:23.470 に答える
0

輸入 :

import android.view.View.OnKeyListener;

特定の編集テキストのキーを押しているときに、次のコードを試してください。

コード:

ed.setOnKeyListener(new OnKeyListener() {

@Override

public boolean onKey(View v, int keyCode, KeyEvent event) {

            // TODO Auto-generated method stubi

            Log.d("View", "conLL.getWidth() "+conLL.getWidth());

            if (event.getKeyCode()==66 && enteredNumber>0) {

            Log.d("View", "------------------------ ");

             } 
            return false;
        }
});
于 2013-02-26T04:24:54.690 に答える
0

editText = (EditText) findViewById(R.id.edit_text);

これは後で呼び出す必要がありますsetContentView

その編集テキスト ImeOption のレイアウトで設定しないと、その DONE アクションをキャッチできません。

public ... extends Activity
{

public void onCreate(Bundle ...)
{
super...
setContentVIew...


editText = (EditText) findViewById(R.id.edit_text);

 editText.setOnEditorActionListener(new OnEditorActionListener() {
     @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            // toast message
        }
        return false;
    }
 });

}
}

<EditText
            android:id="@+id/edittext1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:imeOptions="actionDone"
             >
于 2013-01-23T22:52:19.823 に答える