java - ダイアログへのonContextItemSelected

java android

ContextMenuアイテムを選択してカスタムダイアログをポップアップすると、このエラーが発生します。

 W/InputManagerService(59): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@44f518c0


以下のコード

  public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    Map<String, String> data = (Map<String, String>) getListView().getItemAtPosition(info.position);
    preferences = PreferenceManager.getDefaultSharedPreferences(this);
    String user_ids = preferences.getString("userID", null);
    switch (item.getItemId()) {
    case R.id.pm:
        pms(data.get("pid"),user_ids,data.get("Name"));
        return true;
    }
    return super.onContextItemSelected(item);
  }

private void pms(final String fu2, final String to,final String to2) {
    dialog = new Dialog(this.getParent());
    dialog.setContentView(R.layout.popup_reply);
    dialog.setTitle("To: "+to2);
    dialog.setCancelable(true);
    preferences = PreferenceManager.getDefaultSharedPreferences(this);
    body = (EditText) dialog.findViewById(R.id.editText2);
    sub = (EditText) dialog.findViewById(R.id.editText1);

    Button button = (Button) dialog.findViewById(R.id.Button01);
    button.setOnClickListener(new OnClickListener() {
        @Override
            public void onClick(View v) {
            dialog.dismiss();
            }
        });
    Button button2 = (Button) dialog.findViewById(R.id.Button02);
    button2.setOnClickListener(new OnClickListener() {
        @Override
            public void onClick(View v) {
            new ADownloadFileAsync().execute(fu2);
        }
        });
    dialog.show();
}


DialContextを呼び出す前に、Contextmenuがフォーカスされていないと想定しているだけです。ボタンからダイアログをうまく呼び出すことができるからです。
答え
私に飛びつくのは、ダイアログを作成するときの呼び出しアクティビティコンテキストではなく、親コンテキストの使用だけです。

dialog = new Dialog(this.getParent());


それだけである必要はありませんか?

dialog = new Dialog(this);


これまでに見た例のいずれも、コンストラクターで現在の親を呼び出す方法を使用していません。

こちらの「カスタムダイアログの作成」セクションもご覧くださいhttp://developer.android.com/guide/topics/ui/dialogs.html

ダイアログの表示に関する関連ビットhttp://developer.android.com/guide/topics/ui/dialogs.html#ShowingADialog
関連記事

c# - JavaリストXMLをC#にインポートする方法

java - 文字列の重複を見つけるための私のプログラムの効率に関する入力が必要

java - maven:同じ2つのアーティファクトを追加しますが、バージョンが異なります

java - Java Scripting Engineクラスのインスタンス化

java - AndroidのようなContextMenu

java - パス文字列がJavaのローカルマシンかリモートマシンかを判別する方法

java - xAuth for Java?

java - オブジェクトとプロパティが同じタイプである@XmlInverseReferenceを使用することは可能ですか?

java - JAASフォーム認証が常にJbossで失敗する

java - Antにセミコロンをパラメーターとして渡します