【问题标题】:Syncronized layout in asyncTaskasyncTask 中的同步布局
【发布时间】:2014-11-12 11:38:48
【问题描述】:

我在这个类中以编程方式构建了一个布局:TableMainLayout。

在查看此布局之前,请从 AsyncTask 下载数据。当我下载完布局后,我希望您始终在 AsyncTask 中为下一个视图预加载布局。

我需要找到一种方法来同步这个,否则我会在它没有完成加载布局的时候分割意图。

我用代码解释得更好:

    @Override
    protected String doInBackground(String... params) {
        TableMainLayout layout = new TableMainLayout();
                    synchronized ( ???  ) {
                        Intent iData = new Intent(context, ActionBarTabs.class);
                        context.startActivity(iData);
                    }

    }

问号应该用什么代替?

或者有其他建议吗? 简而言之,我必须等待那个类被初始化,然后再去制作意图。

谢谢

【问题讨论】:

  • TableMainLayout 是做什么的?与 ActionBarTabs 的链接是什么?不应从非 UI 线程的线程启动 Activity。
  • TableMainLayout 为下一个视图创建布局。是一个特殊的东西,所以我必须以编程方式创建它。问题是当你看到黑屏之前有太多数据,然后当他完成显示视图时。所以为了避免这种情况,我会加载第一个类 TableMainLayout。
  • new TableMainLayout() 完成后,布局就加载好了,对吧?

标签: android android-layout android-asynctask


【解决方案1】:

你可以试试这个:

@Override
protected Void doInBackground(Void... params)
{
    // Loading the layout
    TableMainLayout layout = new TableMainLayout();
}

@Override
protected void onPostExecute(Void result)
{
    // The layout is loaded, starting the activity
    Intent iData = new Intent(context, ActionBarTabs.class);
    context.startActivity(iData);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2014-08-29
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多