当我点击à按钮时,我想弹出一个ProgressDialog。通过单击此按钮,它将开始解析XML文件并在ListView中显示结果。
我尝试了这个,但它不起作用:
// --- NEWS BUTTON
OnClickListener newsButtonListener = new OnClickListener()
{
@Override
public void onClick(View actuelView)
{
// Navigation to another screen
Intent intent = new Intent(Lausanne_HC.this, NewsViewController.class);
startActivity(intent);
ProgressDialog dialog = ProgressDialog.show(Lausanne_HC.this, "",
"Loading. Please wait...", true);
}
};
ImageButton newsButton = (ImageButton) findViewById(R.id.newsButton);
newsButton.setOnClickListener(newsButtonListener);
我该怎么办?
由于
答案 0 :(得分:1)
按钮单击
Button click = (Button) findViewById(R.id.button1);
click.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
openprogresdialog();
}
});
创建一个这个方法。
private void openprogresdialog() {
// TODO Auto-generated method stub
final ProgressDialog progDailog = ProgressDialog.show(
HidekeybordActivity.this, "Testing", "Please wait...", true);
new Thread() {
public void run() {
try {
// xml parser code here put...
} catch (Exception e) {
}
progDailog.dismiss();
}
}.start();
}
答案 1 :(得分:0)
通过使用Intent打开另一个Activity,Android将保留当前的Activity。如果您使用Intent打开的Activity是显示已解析数据的Activity,则应执行以下操作:
我在几乎相同的主题上找到了this older thread。
答案 2 :(得分:0)
您应该将生成ProgressDialog
的代码放在被调用Activity的最开头。然后使用另一个线程来解析XML文件并生成ListView
,在工作完成后,关闭ProgressDialog
。
所有这些代码都应该放在显示ListView
的Activity中,因为ProgreeDialog
会显示XML解析的进度。
答案 3 :(得分:0)
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
/* Create an Intent that will start the Menu-Activity. */
Intent mainIntent = new Intent(SplashScreenActivity.this,
FastMainActivity.class);
SplashScreenActivity.this.startActivity(mainIntent);
//overridePendingTransition(android.R.anim.slide_in_left,
// android.R.anim.slide_out_right);
SplashScreenActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGHT); // SPLASH_DISPLAY_LENGTH=3000