我有一个按钮,点击它会加载 rss feed。我想加载一个进度条,直到我的列表打开。我已经创建了一个进度条,它可以工作,但是当我按下返回按钮返回主菜单时进度条再次出现并且不会停止(甚至不让我看到我的菜单)。这是我的代码
ProgressBar myProgressBar;
int myProgress = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main1);
Button nea = (Button) findViewById(R.id.nea);
nea.setOnClickListener(new View.OnClickListener() {
public void onClick (View view) {
setContentView(R.layout.bar);
myProgressBar=(ProgressBar)findViewById(R.id.bar);
new Thread(myThread).start();
Intent myIntent = new Intent(view.getContext(), nea.class);
startActivityForResult(myIntent, 0);
}
});
}
然后,在 onCreate 之外
private Runnable myThread = new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
while (myProgress<100){
try{
myHandle.sendMessage(myHandle.obtainMessage());
Thread.sleep(1000);
}
catch(Throwable t){
}
}
}
Handler myHandle = new Handler(){
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
myProgress++;
myProgressBar.setProgress(myProgress);
}
};
};
最佳答案
当您从启动的 startActivityForResult Activity 返回时,您的 Activity 不会被重新创建,因此您的 contentView 被卡在 R.layout.bar 中。
尝试覆盖 onActivityResult(int requestCode, int resultCode, Intent data) 方法和 调用 setContentView(R.layout.main1);在其中重置您的 View 。您可能需要再次将监听器添加到按钮。
关于android进度条问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833913/