2015-07-10 7 views
0

У меня есть собственный класс, который наследуется от RelativeLayout. У меня есть ImageButton, называемый control_btn, который определен и добавлен в макет в методе init(). На onDraw, у меня есть следующий код (среди прочего):ImageView setImageResource не работает

control_btn.setImageResource(R.drawable.play_new); 
    control_btn.getLayoutParams().width = getPixels(20); 
    control_btn.getLayoutParams().height = getPixels(20); 
    control_btn.setX(getPixels(0)); 
    control_btn.setY(getPixels(10)); 
    control_btn.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
    control_btn.setAdjustViewBounds(true); 
    control_btn.setPadding(0, 0, 0, 0); 
    control_btn.setBackgroundColor(Color.TRANSPARENT); 
    control_btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      control_btn.setImageResource(R.drawable.pause); 
      Log.d("WTH", "clicked"); 
     } 
    }); 

Однако изображение не меняется, несмотря на получение записи журнала. Кроме того, у меня есть еще один ImageButton с точно таким же кодом, изображение которого меняется (также внутри пользовательского класса).

Любые идеи о том, как исправить это?

+1

попытайтесь установить setImageResource в метод init() – rainash

+0

Вы, сэр, гений. Я думал, потому что я меняю только один вид, он не будет вызван. Пожалуйста, скажите, что в качестве ответа я могу отметить его как правильное, и спасибо тонну. –

ответ

2

положить setImageResource в init() метод, тогда проблема будет исправлена.

Смежные вопросы