私はドメイン固有の入力用のソフトウェアキーボードをエミュレートしようとしています。私はPopupWindowを使って入力を集め、それを基礎となるEditTextに転送します。残念なことに、PopupWindowはモーダルなので、ユーザーは通常のソフトウェアキーボードでできるように、あるEditTextから別のEditTextに切り替えることはできません。私はFLAG_NOT_TOUCH_MODAL
フラグを調べましたが、私が探している振る舞いを得るためにはいつ、どのように適用するべきか分かりません。モードレスPopupWindowをキーボード
PopupWindowを起動するための私のコードは次のようになります。
myEdit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
pw = myKeyboard.getPopupWindow((EditText) v);
pw.showAtLocation(Main.this.findViewById(R.id.main), Gravity.BOTTOM, 0, 0);
}
});
私は次のようにそれを変更しようとしたが、これは唯一の実行時例外の結果:java.lang.RuntimeException:android.widget.LinearLayoutを見ます@ 40526268を追加しましたが、それはすでに私もsetOutsideTouchableに探していた親
myEdit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
pw = myKeyboard.getPopupWindow((EditText) v);
WindowManager.LayoutParams wlp = getWindow().getAttributes();
wlp.gravity = Gravity.BOTTOM;
wlp.flags = wlp.flags | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
getWindow().addContentView(pw.getContentView(), wlp);
pw.showAtLocation(Main.this.findViewById(R.id.main), Gravity.BOTTOM, 0, 0);
}
});
を持っていますが、これまでのところ、私はどこにももらっていないされています。
どのように私はモードレスPopupWindowを作成することができます上の任意のポインター?他のモードレスウィジェットを使っても構わないと思う。
解決方法を見つけましたか?ありがとう。 –
少し違ったアプローチで行きました。そのアプローチはこの質問で議論されました:http://stackoverflow.com/questions/10309927/update-views-in-one-activity-from-another –