表示するテンプレートをlayout/hoge.xmlに設定する場合、通常は以下のようにファイル名を表すリソースを与えます。
で、こんなときどうすればいいんだと調べてみたものの、こういうことを書いてるところがどうも見あたらないんですよね。
結局呼び出し側でレイアウトIDを指定することしかできませんでした。
http://www.syboos.jp/java/doc/get-set-field-value-by-method-invoke.html
http://www.ibm.com/developerworks/jp/java/library/j-dyn0603/
setContentView(R.layout.hoge);で、動きのない静的ページを沢山作りたいが毎回アクティビティ作るのもめんどくさいから全部同じアクティビティで処理してしまおうと考えました。
String layoutStr = getIntent().getExtras().getString("layoutStr");
setContentView(R.layout.{layoutStr});
PHPじゃないんだから勿論動きません。で、こんなときどうすればいいんだと調べてみたものの、こういうことを書いてるところがどうも見あたらないんですよね。
結局呼び出し側でレイアウトIDを指定することしかできませんでした。
//呼び出し側
Intent intent = new Intent(this, Static.class);
intent.putExtra("layoutID", R.layout.static_hoge);
startActivity(intent);
//呼び出され側
int layoutId = getIntent().getExtras().getInt("layoutID");
setContentView(layoutId);
探すと一応invokeとかリフレクションを使ってどうのというのが出てくるのですが、いまいち意味がわかりませんでした。http://www.syboos.jp/java/doc/get-set-field-value-by-method-invoke.html
http://www.ibm.com/developerworks/jp/java/library/j-dyn0603/
PR
トラックバック
トラックバックURL: