为进度条视图运行线程 - Android

时间:2012-05-24 13:51:10

标签: java android multithreading progress-bar

我有一个sax解析器,当用户点击一个开始按钮时运行。我想设置一个进度条视图,它将随着解析器的进展而更新。

我的代码目前如下:

public void onCreate (Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.progressview);

    try {
        XMLParser.parse(getAssets().open("deindexed.xml"), this);
    } catch (IOException e) {
        Log.d("XML","onCreate(): parse() failed");
        return;
    }

    //Start the Main Activity.
    System.out.println("Activity recreated");
    Intent i = new Intent(this, Simple.class);
    startActivity(i);

}

问题是setContentView在解析器完成之前不会更新(我理解是这样)。

任何人都可以告诉我改变上述内容的最佳方法,以便使用线程运行吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

查看ASyncTasks。或者,使用真正的线程并使用处理程序来回传递消息。使用ASyncTasks通常更简单/更整洁,但有时它不能像Thread那样通用。对于XML解析器,ASyncTask应该可以正常工作。