忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/04/30 18:07 |
Android2.2 setContentViewにStringの指す値を割り当てたい
表示するテンプレートをlayout/hoge.xmlに設定する場合、通常は以下のようにファイル名を表すリソースを与えます。
	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


2011/10/21 22:07 | Comments(0) | TrackBack(0) | Android

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<今週の実績 2011/10/23 | HOME | ITサービスマネージャ試験を受けてきた>>
忍者ブログ[PR]