我的主页上有一个微调器,当我从微调器中选择一个值并点击提交时,我的下一页会加载几个文本框。
但是,我怎样才能获得它,以便根据从微调器中选择的值显示不同的布局。我正在尝试使用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);
}
任何帮助都会受到很多限制。
由于
答案 0 :(得分:0)
我想错误是因为您要尝试将contentView设置两次,因此您可以尝试这样做:
将int layoutToLoad = 0;
*(此处更改)添加到您的班级顶部,这将帮助我们确定要加载的内容。然后在你的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