繁体   English   中英

Android-加载不同的布局,具体取决于从微调器中选择的值

[英]Android - Loading a different Layout depending on value selected from a Spinner

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

但是,如何获取它,以便根据从微调器中选择的值来显示不同的布局。 我正在尝试使用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); 
    }

任何帮助将不胜感激。

谢谢

我认为错误是因为您将尝试设置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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM