如果选择spinner1中的项xy不能正常工作,则显示spinner2

时间:2011-04-20 07:21:05

标签: android spinner

我有两个旋转器。

如果在第一个项目" Diesel"被选中我想显示第二个。

sKraftstoffArt.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { 
            if(sKraftstoffArt.getSelectedItem().toString() == "Diesel"){
                sPartikelfilterArt.setVisibility(sPartikelfilterArt.VISIBLE);
            }
        } 

        public void onNothingSelected(AdapterView<?> adapterView) {
            return;
        } 
    }); 

我已经在onCreate方法中实现了这段代码。当我在运行期间选择一个项目时,我没有得到所选的项目文本......仅当创建了活动并且选择了默认值时它才有效....

我还需要在哪里实施它?

此致 浮

1 个答案:

答案 0 :(得分:1)

除非您的sKraftstoffArt对象不是最终对象,否则对匿名类中所选项目文本的检查将不起作用。

参数中的adapterView是您为ListView分配的AdapterView.OnItemClickListener实例。
view参数是您ListView中已点击的实际项目(渲染器)。此项目由适配器的getView(int position, View convertView, ViewGroup parent)方法提供。

此外,您应该使用equals的{​​{1}}方法检查两个String值是否相等。

所以这不起作用:

String

使用insetad

if(sKraftstoffArt.getSelectedItem().toString() == "Diesel")

您可能还希望在此if (adapterView.getSelectedItem().toString().equals("Diesel")) 之后添加else子句,以便在前一个微调器中的所选项目不是“Diesel”时隐藏if微调器。

请注意,每次你为这个列表分配一个新的适配器(可能你没有,我仍然提到它以防万一...),你应该再次添加sPartikelfilterArt