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
追記 4/6
teiru4444さん
ご指摘ありがとうございます。下記のように組んでおります。
確認したところ、ActionBarActivityを使わなければ大丈夫でした。
最悪ActionBarActivityを使わないで修正をこころみます。
lang
1public class Test1 extends ActionBarActivity { 2 3 private final Timer timer = new Timer(true); 4 private final Handler han = new Handler(); 5 private TextView text; 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 11 getSupportActionBar().hide(); 12 13 LinearLayout pa = new LinearLayout(this); 14 pa.setOrientation(LinearLayout.VERTICAL); 15 setContentView(pa); 16 17 text = new TextView(this); 18 text.setText("Test1"); 19 pa.addView(text); 20 21 Button b = new Button(this); 22 b.setOnClickListener(new OnClickListener() { 23 24 @Override 25 public void onClick(View v) { 26 openOptionsMenu(); 27 } 28 }); 29 pa.addView(b); 30 31 } 32 33 @Override 34 protected void onResume() { 35 super.onResume(); 36 final long time = 5000; 37 timer.scheduleAtFixedRate(new TimerTask() { 38 39 @Override 40 public void run() { 41 han.post(new Runnable() { 42 43 @Override 44 public void run() { 45 if (text.getVisibility() == View.GONE) 46 text.setVisibility(View.VISIBLE); 47 else 48 text.setVisibility(View.GONE); 49 } 50 }); 51 } 52 }, time, time); 53 } 54 55 @Override 56 protected void onDestroy() { 57 super.onDestroy(); 58 timer.cancel(); 59 } 60 61 @Override 62 public boolean onCreateOptionsMenu(Menu menu) { 63 menu.add("Test1"); 64 return true; 65 } 66 67}
回答1件
あなたの回答
tips
プレビュー