Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 这是展示内容的最佳方式吗?_Android_Post_Runnable - Fatal编程技术网

Android 这是展示内容的最佳方式吗?

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

我在Android的世界里相对较新,UI/线程模型仍然令人困惑

以下是我试图做的:

从web加载数据 对付他们 给他们看 如果出现问题,则显示警报对话框

我目前正在这样做,但我不确定使用许多这样的线程是否是最好的方法

在onCreate()中

我的方法以

  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);
   }
  });