[英]android switch between activities/layouts
我想顯示loadingActivity
而“activity1”正在執行一些代碼(工作),之后再顯示activity1。 但是,如果我不想再次啟動activity1,只在doSomeStuff
結束時切換其布局。 謝謝。
活動1
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent myIntent = new Intent(getApplicationContext(), loadingActivity.class);
startActivityForResult(myIntent, 0);
//Do some stuff while loadingActivity is showed
doSomeStuff()
//here I want to show again this activity and hide loading one
loadingActivity
public class loadingActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
setContentView(R.layout.loading);
}
為此,您應該使用ProgressDialog
,這將允許您輕松顯示加載指示器,一旦完成工作,您可以輕松地將其刪除。 下面的代碼應該對你有用。
顯示對話框:
ProgressDialog dialog = new ProgressDialog(YourActivityClass.this);
dialog.setMessage("Loading Activity...");
dialog.show();
//Do your long running work here
關閉對話框:
dialog.dismiss();
如果要以不同方法顯示和關閉對話框,可以將對話框設置為類級變量。
另外,如果您在后台線程上沒有進行長時間運行的工作,那么從查看代碼開始,您可能會阻止活動加載。 如果不將工作卸載到后台線程,則無法在onCreate內部進行長時間的運行。 為了在Android中輕松進行線程化,您應該使用AsyncTask類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.