13

クラス名をextraで渡そうとしていますが、どうすればいいですか?

Intent p = new Intent(StartScreen.this, Setting.class);
p.putExtra(" ",StartScreen.this);

設定クラスでクラス名を取得したいのですが、Stringこのクラス名を次のように使用することを望んでいません:

Bundle extras = getIntent().getExtras();
extras.getString("class");
Intent i = new Intent(Setting.this, class);
startActivity(i);
4

2 に答える 2

20

このコードを使用できます

Intent p = new Intent(StartScreen.this, Setting.class);
p.putExtra("class","packagename.classname");

そして設定クラスで

Bundle extras = getIntent().getExtras();
String classname=extras.getString("class");
Class<?> clazz = Class.forName(classname);
Intent i = new Intent(Setting.this, clazz);
startActivity(i);
于 2013-03-10T16:23:18.690 に答える