2016-10-20 1 views
0

変数を使用してインテントを作成し、変数を使用して開始アクティビティを作成することは可能ですか?アンドロイドはアクティビティにプログラム的に分岐する

例:標準的な方法

Intent myIntent = new Intent(Main2Activity.this, Main3Activity.class); 
startActivity(myIntent); 

可変活性を使用することができます。

String newActivity = "Main4.class"; 
Intent myIntent = new Intent(Main2Activity.this,newActivity); 
+0

この方法で実行できますか? – xFighter

答えて

0

あなたは、.class接尾辞なしでこのような完全なパッケージ名を指定して

String newActivity = "org.test.Main4";

を文字列としてあなたのActivityクラス名を置くことができるなら、私はあなたがこれを行うことができると信じて、

try { 
     Intent myIntent = new Intent(Main2Activity.this, Class.forName(newActivity)); 

     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 
+0

試してみてくださいが、Javaの例外があります。 – user6804473

+0

コードとエラーメッセージを投稿できますか? – fluffyBatman

0

クラスタイプを使用して、特定のクラスを保存することができます。

Class newActivity = BasicActivity.class; 
startActivity(new Intent(this, newActivity)); 

必要に応じて、変数をさまざまなクラスに対してチェックすることができます。

Class basicActibity = BasicActivity.class; 
if (newActivity == basicActibity) 
関連する問題