程序员

androidUI中一个小的注意点

2019-12-12  本文已影响0人  世外大帝

昨天下午做测试发现软件崩掉了,由于没有log,我只能看看代码,逻辑上没问题,只有view可能出现问题,但是没法确定,今天模拟环境测试了一下,果然是这个问题。

这种问题大多数发生在回调线程中,这主要是Android的相关View和控件不是线程安全的,简单的说,给个独立子线程或者让他跑在UI线程上就可以了

报错为:
Only the original thread that created a view hierarchy can touch its views

通常解决方案为:

    private void showToast(final String msg) {
        THIS.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                T.showLong(THIS, msg);
            }
        });
    }

    private void showText(final String msg) {
        THIS.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mShowText.setText(msg);
            }
        });
    }
上一篇下一篇

猜你喜欢

热点阅读