Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-根据从微调器中选择的值加载不同的布局_Java_Android_Android Layout_Android Intent_Android Spinner - Fatal编程技术网

Java Android-根据从微调器中选择的值加载不同的布局

Java Android-根据从微调器中选择的值加载不同的布局,java,android,android-layout,android-intent,android-spinner,Java,Android,Android Layout,Android Intent,Android Spinner,我的主页上有一个微调器,当我从微调器中选择一个值并点击“提交”时,我的下一页将加载多个文本框 但是,如何获得它,以便根据从微调器中选择的值显示不同的布局。我目前正在尝试使用if语句,但这仅适用于第一个选择,任何其他操作都会导致应用程序出错(应用程序意外停止…强制关闭: String RefType = getIntent().getStringExtra("REFTYPE"); if (RefType.equals("spinner_value_1")) {

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

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

出错?那么Logcat中的错误是什么?嗨,我收到的错误消息是-应用程序意外停止…强制关闭。感谢Logcat的错误…StackTrace说实话,Logcat中有很多错误,不确定哪个是相关的。你能告诉我我大概要找什么吗?清除你的logc在点击您所说的按钮之前点击消息。点击按钮并粘贴第一个异常的堆栈跟踪(整个堆栈跟踪!)。我刚刚纠正了上述情况,但这似乎不起作用。每次我尝试从微调器中选择一个选项并加载下一页时,都会收到相同的错误消息。是否有我可能遗漏的内容?我刚刚发布的一个问题是,重新读取时,int被声明为字符串,因此您可以尝试使用changing那(我用*编辑了答案)我已经编辑过了,我还从else if(layoutToLoad==2)中删除了附加的)