对话框抛出“无法添加窗口-令牌null不适用于应用程序”

琼·史密斯(Jhon Smith)

我的代码:


    public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        NoticeBoard.init(MainActivity.this);
        NoticeBoard.getInstance().setButton();
        setContentView(NoticeBoard.getInstance());
    }

}

    public class NoticeBoard extends ImageView {
    private static NoticeBoard instance = null;
    private static Paint paint;
    protected  Context mContext;
    private static WindowManager mWindowManager;

    public NoticeBoard(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public static NoticeBoard getInstance() {
        return instance;
    }

    public static void init(Context context) {
        instance = new NoticeBoard(context);
        instance.setImageResource(R.drawable.ic_launcher);
        instance.invalidate();
    }

    public NoticeBoard(Context context) {
        super(context);
        mWindowManager = (WindowManager) getContext().getApplicationContext().getSystemService(Context.WINDOW_SERVICE); 
        mContext = context;
        setBackgroundColor(Color.BLACK);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        paint = new Paint(Paint.LINEAR_TEXT_FLAG);
        paint.setColor(Color.GRAY);
        paint.setTextSize(12.0F);
        canvas.drawText("Hello World", 100, 200, paint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return super.onTouchEvent(event);
    }

    public void setButton() {
        Activity a =(Activity) mContext;
        ImageButton btn = new ImageButton(a);
        btn.setBackgroundResource(R.drawable.ic_launcher);
        android.view.WindowManager.LayoutParams paramsSplit = new android.view.WindowManager.LayoutParams();
        paramsSplit.width=2;
        paramsSplit.height=2;
        instance.mWindowManager.addView(btn, paramsSplit);
    }
}

我试图找到答案,我将getApplicationContext()更改为MainActivity.this,并将上下文更改为(Activity)Context,但仍然无法正常工作。它出什么问题了?主席:我是中文,我的英语不太好。谢谢你的帮助。

杰克

在以下行中:

    mWindowManager = (WindowManager) getContext().getApplicationContext().getSystemService(Context.WINDOW_SERVICE); 

删除对应用程序上下文的引用

    mWindowManager = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); 

活动的背景就足够了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从服务显示警报对话框时获取异常-无法添加窗口-令牌null不适用于应用程序

来自分类Dev

警报对话框异常“无法添加窗口 - 令牌 null 不适用于应用程序”,我应该提供什么上下文?

来自分类Dev

Android错误:无法添加窗口-令牌null不适用于应用程序

来自分类Dev

无法添加窗口-令牌null不适用于Service中的应用程序

来自分类Dev

android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null不适用于应用程序

来自分类Dev

AsynchTask中的progressBar导致崩溃,“无法添加窗口-令牌null不适用于应用程序”

来自分类Dev

如何解决此问题:无法添加窗口-令牌null不适用于应用程序

来自分类Dev

android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null不适用于应用程序

来自分类Dev

创建对话框“令牌空值不适用于应用程序”对话框时,Logcat引发错误

来自分类Dev

React Context API不适用于单个应用程序对话框

来自分类Dev

需要关于 kivy mapview 的帮助,适用于 Windows,但不适用于 android,应用程序无法启动

来自分类Dev

单击不适用于用户在 android 应用程序中添加的小部件

来自分类Dev

从主窗口构建后,Qt Connect 方法不适用于对话框

来自分类Dev

鞭尾或对话框不适用于ssh

来自分类Dev

换行内容不适用于对话框

来自分类Dev

操作栏菜单项选择-令牌null不适用于应用程序

来自分类Dev

获取对话框窗口处理程序

来自分类Dev

基于 MFC 对话框的应用程序无法两次调用对话框

来自分类Dev

无法添加窗口Android对话框

来自分类Dev

无法添加窗口Android对话框

来自分类Dev

适用于iOS的Google Plus API:共享功能-触摸本机对话框共享中的“公共”时崩溃的应用程序?

来自分类Dev

用于关闭对话框的按钮抛出nullpointerexception

来自分类Dev

适用于Android的MQTT Java应用程序中的setCallback抛出错误

来自分类Dev

适用于Chrome的Android ARC应用程序,可设置不同活动/布局的窗口大小

来自分类Dev

使用winAPI BitBlt捕获故障的窗口仅适用于某些应用程序

来自分类Dev

适用于macOS的SwiftUI的``设置''窗口未显示在Catalyst应用程序上

来自分类Dev

无法下载适用于Windows Mobile 5.0应用程序的EMDK

来自分类Dev

仅适用于iOS 7 Landscape的应用程序无法访问照片库

来自分类Dev

适用于Visual Studio的Cordova多设备混合应用程序(预览)| 无法加载项目

Related 相关文章

  1. 1

    从服务显示警报对话框时获取异常-无法添加窗口-令牌null不适用于应用程序

  2. 2

    警报对话框异常“无法添加窗口 - 令牌 null 不适用于应用程序”,我应该提供什么上下文?

  3. 3

    Android错误:无法添加窗口-令牌null不适用于应用程序

  4. 4

    无法添加窗口-令牌null不适用于Service中的应用程序

  5. 5

    android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null不适用于应用程序

  6. 6

    AsynchTask中的progressBar导致崩溃,“无法添加窗口-令牌null不适用于应用程序”

  7. 7

    如何解决此问题:无法添加窗口-令牌null不适用于应用程序

  8. 8

    android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null不适用于应用程序

  9. 9

    创建对话框“令牌空值不适用于应用程序”对话框时,Logcat引发错误

  10. 10

    React Context API不适用于单个应用程序对话框

  11. 11

    需要关于 kivy mapview 的帮助,适用于 Windows,但不适用于 android,应用程序无法启动

  12. 12

    单击不适用于用户在 android 应用程序中添加的小部件

  13. 13

    从主窗口构建后,Qt Connect 方法不适用于对话框

  14. 14

    鞭尾或对话框不适用于ssh

  15. 15

    换行内容不适用于对话框

  16. 16

    操作栏菜单项选择-令牌null不适用于应用程序

  17. 17

    获取对话框窗口处理程序

  18. 18

    基于 MFC 对话框的应用程序无法两次调用对话框

  19. 19

    无法添加窗口Android对话框

  20. 20

    无法添加窗口Android对话框

  21. 21

    适用于iOS的Google Plus API:共享功能-触摸本机对话框共享中的“公共”时崩溃的应用程序?

  22. 22

    用于关闭对话框的按钮抛出nullpointerexception

  23. 23

    适用于Android的MQTT Java应用程序中的setCallback抛出错误

  24. 24

    适用于Chrome的Android ARC应用程序,可设置不同活动/布局的窗口大小

  25. 25

    使用winAPI BitBlt捕获故障的窗口仅适用于某些应用程序

  26. 26

    适用于macOS的SwiftUI的``设置''窗口未显示在Catalyst应用程序上

  27. 27

    无法下载适用于Windows Mobile 5.0应用程序的EMDK

  28. 28

    仅适用于iOS 7 Landscape的应用程序无法访问照片库

  29. 29

    适用于Visual Studio的Cordova多设备混合应用程序(预览)| 无法加载项目

热门标签

归档