相关疑难解决方法(0)

无法在未调用Looper.prepare()的线程内创建处理程序

以下例外意味着什么; 我该怎么解决?

这是代码:

Toast toast = Toast.makeText(mContext, "Something", Toast.LENGTH_SHORT);
Run Code Online (Sandbox Code Playgroud)

这是例外:

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
     at android.os.Handler.<init>(Handler.java:121)
     at android.widget.Toast.<init>(Toast.java:68)
     at android.widget.Toast.makeText(Toast.java:231)
Run Code Online (Sandbox Code Playgroud)

android ui-thread android-toast

919
推荐指数
17
解决办法
72万
查看次数

在Android Activity中创建弹出窗口时出现问题

我正在尝试创建一个仅在应用程序第一次启动时出现的弹出窗口.我希望它显示一些文本并有一个按钮来关闭弹出窗口.但是,我在让PopupWindow工作时遇到了麻烦.我尝试了两种不同的方法:

首先我有一个XML文件,它声明了popup.xml的布局(在linearlayout中的textview),我在主Activity的OnCreate()中添加了这个:

PopupWindow pw = new PopupWindow(findViewById(R.id.popup), 100, 100, true);
    pw.showAtLocation(findViewById(R.id.main), Gravity.CENTER, 0, 0);
Run Code Online (Sandbox Code Playgroud)

其次,我使用此代码完全相同:

final LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.popup, (ViewGroup) findViewById(R.layout.main) ), 100, 100, true);
    pw.showAtLocation(findViewById(R.id.main_page_layout), Gravity.CENTER, 0, 0);
Run Code Online (Sandbox Code Playgroud)

第一个抛出NullPointerException,第二个抛出BadTokenException并说"无法添加窗口 - 令牌null无效"

世界上我做错了什么?我是非常新手所以请耐心等待.

android popupwindow

52
推荐指数
4
解决办法
6万
查看次数

Android Spinner错误:android.view.WindowManager $ BadTokenException:无法添加窗口

我想使用String []或ArrayList设置微调器值.

我在其他活动中做了微调器工作正常.在Tab acivityGroup内的这个活动中另一个Tab活动.

我的问题是将值设置为微调器.Spinner正确显示Thay意味着在加载活动时,工作正常但是当我单击On spinner时它会给出错误:

错误是:

    09-30 16:11:37.693: ERROR/AndroidRuntime(699): FATAL EXCEPTION: main
09-30 16:11:37.693: ERROR/AndroidRuntime(699): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@407f4de8 is not valid; is your activity running?
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.view.ViewRoot.setView(ViewRoot.java:527)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.app.Dialog.show(Dialog.java:241)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.widget.Spinner.performClick(Spinner.java:260)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.view.View$PerformClick.run(View.java:9080)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at android.os.Handler.handleCallback(Handler.java:587)
09-30 16:11:37.693: ERROR/AndroidRuntime(699):     at …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×3

android-toast ×1

popupwindow ×1

ui-thread ×1