簡體   English   中英

android在活動/布局之間切換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM