Android 异步视图操作

Android 异步视图操作,android,multithreading,model-view-controller,asynchronous,Android,Multithreading,Model View Controller,Asynchronous,我有个小问题,我现在花了很多时间。我希望你能帮助我。 嗯,我有一个活动,它在后台从数据库中加载内容。它返回异步并修改我的数据模型。现在,我正在寻找一种通知控制器更新视图的好方法。我使用notifyDataChanged方法,但遇到异常 Android不允许从其他线程修改视图。在我看来,这是一个基本的功能。因此,必须有一种方法来实现这种功能 你能给我一个提示吗 我还观看了内容观察者课程。但我不认为那是对的 谢谢请提供您的活动中的一些代码片段。如果您正在使用AsynkTask这是对数据进行后台处理的

我有个小问题,我现在花了很多时间。我希望你能帮助我。 嗯,我有一个活动,它在后台从数据库中加载内容。它返回异步并修改我的数据模型。现在,我正在寻找一种通知控制器更新视图的好方法。我使用notifyDataChanged方法,但遇到异常

Android不允许从其他线程修改视图。在我看来,这是一个基本的功能。因此,必须有一种方法来实现这种功能

你能给我一个提示吗

我还观看了内容观察者课程。但我不认为那是对的


谢谢

请提供您的
活动中的一些代码片段
。如果您正在使用
AsynkTask
这是对数据进行后台处理的最佳方式,则应使用
onPostExecute()
方法更新UI,因为
doInBackground()
在后台线程上运行,而不是在UIThread上运行

解决方法是在
活动
中声明一个,并在
处理程序
中发布一个新的
可运行
,当您想要访问UI时,类似这样:

    mHandler.post(new Runnable() {
        @Override
        public void run() {
            mAdapter.notifyDataSetChanged();
        }
    }); 

但这是一个“黑客”,我不建议使用它。最好的方法是使用。

这会触发IllegalStateException{},您需要运行NUITHREAD()