Когда я запускаю свой код на некоторых устройствах (например, MI note 4), он дает мне исключение:
android.view.WindowManager $ BadTokenException: невозможно добавить окно - токен android.view.ViewRootImpl $ W @ 7989790 недействителен;ваша деятельность запущена?
Но когда я запускаю это на высокоскоростном и последнем мобильном телефоне (MI note 5 pro), он работает нормально.Я не могу понять ошибку здесь, пожалуйста, направьте мне спасибо.
Вот XML для счетчика: -
<Spinner
android:id="@+id/type_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_10"
android:entries="@array/type" />
и мой строковый массив:
<string-array name="type">
<item>Every Month</item>
<item>Every Year</item>
<item>Once</item>
</string-array>
add_reminder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
View view1 = LayoutInflater.from(getActivity()).inflate(R.layout.add_reminder, null);
final PopupWindow pw = new PopupWindow(view1, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
pw.setFocusable(true);
pw.setTouchable(true);
pw.showAtLocation(view, Gravity.CENTER, 0, 0);
final Spinner type = view1.findViewById(R.id.type_spinner);
});
Мой фрагмент все еще работает за всплывающим окном, поэтому эта ошибка не должна появляться, поскольку она показывает, что действие не выполняется.И помните, что он работает нормально на последнем устройстве.