ユーザーが登録してアカウントを作成できる PopopWindow があります。ユーザー名が既に存在する場合は、setError(string); を使用します。ユーザーに通知してから、Edittext と reqeustFocus をクリアします。しかし、reqeustFocus(); では 私はBadTokenExceptionを取得します:
Unable to add window -- token android.view.ViewRootImpl$W@41ea39b8 is not valid; is your activity running
私はSherlockFragmentを使用しています。これがPopupWindowの作成方法です
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.popup_register,null);
pwCreateAccount = new PopupWindow(layout, screenWidth - 75, LayoutParams.WRAP_CONTENT, true);
pwCreateAccount.setOutsideTouchable(true);
pwCreateAccount.setBackgroundDrawable(new BitmapDrawable());
pwCreateAccount.showAtLocation(layout, 17, 0, 0);
PopupWindow内のスピナーで同じ問題が発生した後、ドロップダウンを開いてアイテムを選択しようとしましたが、同じエラーが発生しました。しかし、私は getActivity() も使用し、 getBaseContext() または getApplicationContext() は使用しませんでした