我有一个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在解析器完成之前不会更新(我理解是这样)。
任何人都可以告诉我改变上述内容的最佳方法,以便使用线程运行吗?
谢谢。
答案 0 :(得分:1)
查看ASyncTasks。或者,使用真正的线程并使用处理程序来回传递消息。使用ASyncTasks通常更简单/更整洁,但有时它不能像Thread那样通用。对于XML解析器,ASyncTask应该可以正常工作。