No cambia la imagen al hacer un set en android studio [cerrada]

Lo que trato de hacer es que cuando se cumpla alguna condicion se haga un cambio de imagen a otra.Pero no me hace ningun cambio, y no sé porque, si alguien me podría indicar donde me equivoco o si el tipo de set no es compatible y tal le estaría muy agradecido, os dejo adjunto el codigo:

languages=(Spinner)findViewById(R.id.spLanguage);
        items= getResources().getStringArray(R.array.language);
        tv=(TextView)findViewById(R.id.tvIdioma);
        image=(ImageView)findViewById(R.id.bandera);
        ArrayAdapter<String>adapter = new ArrayAdapter<String>(getBaseContext(),
                android.R.layout.simple_spinner_item,items);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        languages.setAdapter(adapter);
        languages.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
            @Override
            public void onItemSelected(Spinner parent, View view, int position, long id) {
                String text;
                text= (String) parent.getSelectedItem();
                if(text.equals("Spanish")){
                    image.setBackground(getResources().getDrawable(R.drawable));
                }else{
                    if(text.equals("English")){
                        image.setImageResource(R.drawable.gb);
                    }
                }
                tv.setText(text);
            }
        });

Mirad en el metodo del Spinner:

languages.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
            @Override
            public void onItemSelected(Spinner parent, View view, int position, long id) {
                String text;
                text= (String) parent.getSelectedItem();
                if(text.equals("Spanish")){
                    image.setBackground(getResources().getDrawable(R.drawable));
                }else{
                    if(text.equals("English")){
                        image.setImageResource(R.drawable.gb);
                    }
                }
                tv.setText(text);
            }
    })
0
задан 26.12.2016, 18:26
0 ответов

В обоих случаях пробуй с:

image.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.gb));

или

image.setBackgroundResource(R.drawable.gb);

Если он необходим, - trim в text, чтобы удалять место

text = text.trim();
1
ответ дан 03.12.2019, 17:59
  • 1
    @Geany ты проверил, что действительно между в if? image.setBackground (getResources () .getDrawable (R.drawable));//Это не помечает тебе ошибку? –  26.12.2016, 18:35

Теги

Похожие вопросы