0

我的主页上有一个微调器,当我从微调器中选择一个值并点击提交时,我的下一页会加载几个文本框。

但是,我怎样才能得到它,以便根据从微调器中选择的值显示不同的布局。我正在尝试当前使用 if 语句,但这仅适用于第一个选择,任何其他导致应用程序出错(应用程序已意外停止......强制关闭:

    String RefType = getIntent().getStringExtra("REFTYPE");
    if (RefType.equals("spinner_value_1"))
    {
       setContentView(R.layout.layoutvalue1);  
    }
    else if (RefType.equals("spinner_value_2"))
    {
       setContentView(R.layout.layoutvalue2); 
    }

任何帮助都会非常受欢迎。

谢谢

4

1 回答 1

0

我想这个错误是因为你试图设置 contentView 两次,所以你可以试试这个:
int layoutToLoad = 0;*(change here) 添加到你的类的顶部,这将帮助我们确定要加载的内容。然后在您的 onCreate 中:

if (layoutToLoad == 0)
{
    setContentView(R.layout.choiceLayout); //whatever the layout with the spinner is
    //alternatively you can make the spinner via code  
}
else if (layoutToLoad == 1))
{
    setContentView(R.layout.layout1);
}
else if (layoutToLoad == 2))
{
    setContentView(R.layout.layout2);
}
//etc

那么你在哪里处理你的onOptionSelected:

String RefType = getIntent().getStringExtra("REFTYPE");
if (RefType.equals("spinner_value_1"))
{
    layoutToLoad = 1;
    onCreate(null);  
}
else if (RefType.equals("spinner_value_2"))
{
    layoutToLoad = 2;
    onCreate(null);  
}
//etc
于 2012-01-14T10:14:08.840 回答