1

简单地说,我正在尝试重用我的适配器和活动类。当我调用 Intent 打开我的 Activity 时,我将要膨胀的布局的名称作为 StringExtra 传递,如下所示:

i.putExtra("layout_name", "layout_a");

然后在我的活动中,我获得了额外的:

Intent i = getIntent();
String layout_name = i.getStringExtra("layout_name");

现在我想以这种格式使用它:

setContentView(R.layout. + layout_name); 

这样的事情可能吗?什么是正确的语法?

4

3 回答 3

4

就像是,

int layoutID = getResources().getIdentifier("layout_name" , "layout", getPackageName());
setContentView(layoutID); 
于 2013-08-12T10:08:21.787 回答
1

您可以传递布局标识符:

i.putExtra("layout_id", R.layout.your_layout);

将此值作为

int layout_id = getIntent().getIntExtra("layout_id");

将此ID设置为

setContentView(layout_id); 
于 2013-08-12T10:13:45.590 回答
1

您也可以尝试 Int ID of resource 并使用它。

int layout = getIntent().getExtras().getInt("LayoutID");
setContentView(layout);

希望能帮助到你!!

于 2013-08-12T10:14:02.260 回答