3

標準のエントリポップアップダイアログがあります

    AlertDialog.Builder builder = new AlertDialog.Builder(activity);

    builder.setTitle(title)
        .setMessage(message)
        .setPositiveButton(buttonPositif, new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   // Send the positive button event back to the host activity
                   mListener.onDialogPositiveClick(EntryDialogFacade.this);
               }
           })
        .setNegativeButton(buttonNegatif, new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   // Send the negative button event back to the host activity
                   mListener.onDialogNegativeClick(EntryDialogFacade.this);
               }
           });        

    editText = new EditText(activity);
    editText.setLines(1);
    editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
    builder.setView(editText);

    Dialog dialog = builder.create();        
    dialog.show();

入力フィールドキーボードの[完了]ボタンを表示しようとしていますが(コードスニペットを参照)、これはこのようには機能しません。

誰かが同じことを経験したでしょうか?

乾杯。

4

1 に答える 1

4

setSingleLine(true)ではなくを使用する必要があり、次にキーをキャッチするsetLines(1)必要があります。EditorActionListenerDone

editText.setSingleLine(true);
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
editText.setOnEditorActionListener(new OnEditorActionListener() {

    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        Toast.makeText(MainActivity.this, "Got IME Done", Toast.LENGTH_SHORT).show();
        return true;
    }
});
于 2012-11-19T22:45:00.963 に答える