当我更改微调器选择时,为什么我的应用程序崩溃了?

时间:2016-12-19 06:47:25

标签: java android

当我尝试更改我的下拉微调器选定项目时,我的应用程序崩溃。

我想要做的是有一堆ImageViews根据微调器的选择更改图像。

它在我的Galaxy s7上运行正常,但每次切换微调器时我的s4都会崩溃

我正在使用switch case方法这样做..假设我的所有变量都已经命名并正确初始化。

public void example(){
    switch(spinner.getSelectedItem().toString()){

         case "A":
            imageview.setImageResource(R.mipmap.a);
            break; 
    } 
}

我在一个switch case方法中为7个图像做这个,并且有两个这样的方法,因为我有两列图像。

我正在使用数组适配器并将其分配给我的微调器, 然后我调用这样的方法:

 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView2, View view2, int i2, long l2) {

            example();

        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });

感谢任何帮助,我不知道为什么它会在我的s4而不是我的s7上崩溃

1 个答案:

答案 0 :(得分:2)

这是您的问题的解决方案。使用以下函数更改Example函数。

public void example(String string){
 switch(string){
    case "A":
    imageview.setImageResource(R.mipmap.a);
    break; } 
 }

这里稍作改动就可以解决它。

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> adapterView2, View view2, int i2, long l2) {
        String string = adapterView2.getSelectedItem().toString()
        example(string);
    }

    @Override
    public void onNothingSelected(AdapterView<?> adapterView) {

    }

试试这个,我相信你的问题已经解决了。 乐意帮助.l     });