質問編集履歴

4 質問内容を詳細に変更

退会済みユーザー

退会済みユーザー

2015/04/06 11:01  投稿

Android4.4のメニューは他のViewにフォーカスがあたると閉じられます。
Android4.4のメニューは他のViewにフォーカスがあたると消えるようです。
例えばopenOptionsMenu()でメニューを表示させてから、画面に表示させているViewのどれかをsetVisibility()で表示状態を変えるとMenuが閉じられてしまいます。その際に下記のログがでます。対処方法をご存知であればご教示頂けないでしょうか。
W/InputMethodManagerService(577): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@430e7088 attribute=null, token = android.os.BinderProxy@430fd848
W/InputMethodManagerService(577): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@430e7088 attribute=null, token = android.os.BinderProxy@430fd848
追記 4/6
teiru4444さん
ご指摘ありがとうございます。下記のように組んでおります。
確認したところ、ActionBarActivityを使わなければ大丈夫でした。
最悪ActionBarActivityを使わないで修正をこころみます。
```lang-<ここに言語を入力>
public class Test1 extends ActionBarActivity {
   private final Timer timer = new Timer(true);
   private final Handler han = new Handler();
   private TextView text;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       getSupportActionBar().hide();
       LinearLayout pa = new LinearLayout(this);
       pa.setOrientation(LinearLayout.VERTICAL);
       setContentView(pa);
       text = new TextView(this);
       text.setText("Test1");
       pa.addView(text);
       Button b = new Button(this);
       b.setOnClickListener(new OnClickListener() {
           @Override
           public void onClick(View v) {
               openOptionsMenu();
           }
       });
       pa.addView(b);
   }
   @Override
   protected void onResume() {
       super.onResume();
       final long time = 5000;
       timer.scheduleAtFixedRate(new TimerTask() {
           @Override
           public void run() {
               han.post(new Runnable() {
                   @Override
                   public void run() {
                       if (text.getVisibility() == View.GONE)
                           text.setVisibility(View.VISIBLE);
                       else
                           text.setVisibility(View.GONE);
                   }
               });
           }
       }, time, time);
   }
   @Override
   protected void onDestroy() {
       super.onDestroy();
       timer.cancel();
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
       menu.add("Test1");
       return true;
   }
}
```
  • Java

    25055 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    10533 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

3 誤字

退会済みユーザー

退会済みユーザー

2015/04/03 13:50  投稿

Android4.4のメニューは他のViewにフォーカスがあたると消えます。
Android4.4のメニューは他のViewにフォーカスがあたると閉じられます。
Android4.4のメニューは他のViewにフォーカスがあたると消えるようです。
例えばopenOptionsMenu()でメニューを表示させてから、画面に表示させているViewのどれかをsetVisibility()で表示状態を変えるとMenuが閉じられてしまいます。その際に下記のログがでます。対処方法をご存知であればご教示頂けないでしょうか。
W/InputMethodManagerService(577): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@430e7088 attribute=null, token = android.os.BinderProxy@430fd848
  • Java

    25055 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    10533 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

2 誤字

退会済みユーザー

退会済みユーザー

2015/04/03 11:50  投稿

Android4.4のメニューは他のViewにフォカスがあたると消えます。
Android4.4のメニューは他のViewにフォーカスがあたると消えます。
Android4.4のメニューは他のViewにフォカスがあたると消えるようです。
Android4.4のメニューは他のViewにフォーカスがあたると消えるようです。
例えばopenOptionsMenu()でメニューを表示させてから、画面に表示させているViewのどれかをsetVisibility()で表示状態を変えるとMenuが閉じられてしまいます。その際に下記のログがでます。対処方法をご存知であればご教示頂けないでしょうか。
W/InputMethodManagerService(577): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@430e7088 attribute=null, token = android.os.BinderProxy@430fd848
  • Java

    25055 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    10533 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

1 誤字

退会済みユーザー

退会済みユーザー

2015/04/03 11:41  投稿

Android4.2のメニューは他のViewにフォカスがあたると消えます。
Android4.4のメニューは他のViewにフォカスがあたると消えます。
Android4.4のメニューは他のViewにフォカスがあたると消えるようです。
例えばopenOptionsMenu()でメニューを表示させてから、画面に表示させているViewのどれかをsetVisibility()で表示状態を変えるとMenuが閉じられてしまいます。その際に下記のログがでます。対処方法をご存知であればご教示頂けないでしょうか。
W/InputMethodManagerService(577): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@430e7088 attribute=null, token = android.os.BinderProxy@430fd848
  • Java

    25055 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    10533 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る