2011-10-23 16 views
0

私は新しいアクティビティを開くための機能を持っていますが、そのために文字列を使用することはできません。私の機能は以下の通りです。私はあなたがそれを見れば私の質問ははっきりしていると思います。文字列を使用して新しい画面を開くにはどうすればよいですか?

public boolean showScreen(String screen) { 
    Intent intent = new Intent(this, screen.class); 
    startActivity(intent); 
    return true; 
} 

EDIT:// tryとcatchを使用するとエラーになります。私のシステムは今は正常に動作します。

答えて

1

特定の文字列のクラスを取得するには、Class.forName(String s)を使用する必要があります。

コード:

public boolean showScreen(String screen) { 
    Intent intent = new Intent(this, Class.forName(screen)); 
    startActivity(intent); 
    return true; 
} 

は、この情報がお役に立てば幸い!

+0

Class.forName(画面)でエラーが発生した場合の機能を変更した場合: 未処理の例外タイプClassNotFoundException –

+0

パッケージ名を含む正しいクラス名を設定する必要があります。 –

+0

文字列の値は何ですか?それは完全修飾名ですか? 'com.vries.app.TheClass'? – dmon

0

私は列挙型を使用し、それにパラメータを変更します。または、少なくともそれぞれの列挙型にStringを解析します。その後、それを切り替えることができます。

関連する問題