Android 这是展示内容的最佳方式吗?
我在Android的世界里相对较新,UI/线程模型仍然令人困惑 以下是我试图做的: 从web加载数据 对付他们 给他们看 如果出现问题,则显示警报对话框 我目前正在这样做,但我不确定使用许多这样的线程是否是最好的方法 在onCreate()中 我的方法以Android 这是展示内容的最佳方式吗?,android,post,runnable,Android,Post,Runnable,我在Android的世界里相对较新,UI/线程模型仍然令人困惑 以下是我试图做的: 从web加载数据 对付他们 给他们看 如果出现问题,则显示警报对话框 我目前正在这样做,但我不确定使用许多这样的线程是否是最好的方法 在onCreate()中 我的方法以 final BaseAdapter a = new ResortAdapter(this, R.layout.resort_item, resorts); runOnUiThread(new Runnable() { @Over
final BaseAdapter a = new ResortAdapter(this, R.layout.resort_item, resorts);
runOnUiThread(new Runnable() {
@Override
public void run() {
resortsList.setAdapter(a);
}
});
我有一个线程和两个runOnUiThread调用。我觉得可以有一个更好的解决方案,而不必处理这些线程。我说得对吗
感谢使用-它是为这种情况创建的:运行后台任务或(长)进程,同时仍以正确的方式(在EDT上)更新UI。谢谢Peter,我认为它不会解决我的问题,所以我实际上没有尝试。现在,如果我尝试使用AsyncTask。我在onPreExecute()上遇到另一个问题{super.onPreExecute();prefs=PreferenceManager.GetDefaultSharedReferences(getBaseContext());}如何获取上下文?谢谢你,你得把它交给我。扩展AsyncTask时,创建一个构造函数,该构造函数将
上下文
作为参数。。。如果我知道这很容易。。。感谢在线程执行期间弹出警报对话框时要小心。如果用户在线程运行的地方启动另一个或完成活动,警报对话框将尝试出现,您的应用程序将死亡!我猜这个问题是通过使用AsynkTask解决的,对吗?
final BaseAdapter a = new ResortAdapter(this, R.layout.resort_item, resorts);
runOnUiThread(new Runnable() {
@Override
public void run() {
resortsList.setAdapter(a);
}
});