2012-03-22 6 views
0

を表示したいと思いますが、「activity1」はコードを実行しています(作業中)。その後再びactivity1を表示します。しかし、私が再びアクティビティ1を開始したくない場合は、doSomeStuffが終了したときにレイアウトを切り替えるだけです。ありがとうございました。アンドロイドでアクティビティ/レイアウトが切り替わります

このおProgressDialogを使用する必要がありますについてはactivity1

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); 

    } 

答えて

2

、これはあなたが簡単にロードインジケーターを表示することができますし、作業が完了したら、あなたは簡単にそれを削除することができます。以下のコードはあなたのものです。

表示ダイアログ:

ProgressDialog dialog = new ProgressDialog(YourActivityClass.this); 
    dialog.setMessage("Loading Activity..."); 
    dialog.show(); 

    //Do your long running work here 

ダイアログを閉じます:あなたが表示され、さまざまな方法でそれを却下する場合

dialog.dismiss(); 

あなたは、クラスレベル変数としてダイアログを設定することができます。

また、あなたのコードを見ることで、あなたの長時間の作業がバックグラウンドスレッドで起こっていない場合でも、ロードからアクティビティをブロックしている可能性があります。バックグラウンドスレッドに作業を負わせずに、onCreate内で長時間実行する作業はできません。 Androidで簡単にスレッドするには、AsyncTaskクラスを使用する必要があります。

関連する問題