Android-在代码中动态命名资源
简单地说,我正在尝试重用我的适配器和活动类。当我调用意图来打开我的活动时,我会传递我想要膨胀为StringExtra的布局名称,如下所示:Android-在代码中动态命名资源,android,string,layout,android-intent,resources,Android,String,Layout,Android Intent,Resources,简单地说,我正在尝试重用我的适配器和活动类。当我调用意图来打开我的活动时,我会传递我想要膨胀为StringExtra的布局名称,如下所示: i.putExtra("layout_name", "layout_a"); 然后在我的活动中,我获得额外的: Intent i = getIntent(); String layout_name = i.getStringExtra("layout_name"); 现在我想用这种格式: setContentView(R.layout. + layout
i.putExtra("layout_name", "layout_a");
然后在我的活动中,我获得额外的:
Intent i = getIntent();
String layout_name = i.getStringExtra("layout_name");
现在我想用这种格式:
setContentView(R.layout. + layout_name);
这样的事情可能吗?正确的语法是什么?类似于
int layoutID = getResources().getIdentifier("layout_name" , "layout", getPackageName());
setContentView(layoutID);
大概
int layoutID = getResources().getIdentifier("layout_name" , "layout", getPackageName());
setContentView(layoutID);
您可以传递布局标识符:
i.putExtra("layout_id", R.layout.your_layout);
将此值作为
int layout_id = getIntent().getIntExtra("layout_id");
将此id设置为
setContentView(layout_id);
您可以传递布局标识符:
i.putExtra("layout_id", R.layout.your_layout);
将此值作为
int layout_id = getIntent().getIntExtra("layout_id");
将此id设置为
setContentView(layout_id);
您还可以尝试使用资源的Int-ID并使用它
int layout = getIntent().getExtras().getInt("LayoutID");
setContentView(layout);
希望能有帮助 您还可以尝试使用资源的Int-ID并使用它
int layout = getIntent().getExtras().getInt("LayoutID");
setContentView(layout);
希望能有帮助 更多信息请看我尝试了这个,但没有运气,我得到了错误-没有找到资源。我敢肯定是我做错了什么。更多信息请看我尝试了这个,但没有运气,我得到了错误-没有找到资源。我肯定是我做错了什么。