Android:是否可以使Contentview动态化?

时间:2010-11-18 19:12:19

标签: android class variables layout

是否可以只创建一个类并为contentview使用变量?我正在考虑使用带有ID的按钮来创建主布局。按下按钮后,它会将ID传递给类,并使用该ID打开特定的布局。一个类,多个布局。

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); //is it possible to make 'main' a variable?
    }
}

1 个答案:

答案 0 :(得分:0)

R.layout.main解析为整数(或者很长,我忘了)所以你应该能够设置某种控制结构:

switch (mSomeDeterminingFactor) {
    case 1:
        layoutChoice = R.layout.main
        break;
    case 2:
        layoutChoice = R.layout.altMain1
        break;
    case 3:
        layoutChoice = R.layout.altMain2
        break;
    case else:
        layoutChoice = R.layout.main
        break;
 }
 setContentView(layoutChoice);

编辑:您应该注意以后如何使用/保存/存储此数字,因为您无法保证资源值是相同的。你应该继续通过R类引用它们。