Кнопка Android для изменения изображения OnClick

Я только что добавил новыйdrawable папка подres папка. вdrawable папку, я скопировалic_launcher.png файл изdrawable-hdpi папка. Я хочу изменить стандартImageButton изображение через новый, когда я нажимаю кнопку. Я написал некоторый код, но когда я запускаю приложение, оно падает.

Button imgButton; 

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.imgButton).setOnClickListener(imgButtonHandler);      
}

View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {

        imgButton.setBackgroundResource(R.drawable.ic_launcher);

    }
};

РЕДАКТИРОВАТЬ: Я изменил на это, и это тоже не работает.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imgButton = (Button) findViewById(R.id.imgButton);
    imgButton.setOnClickListener(imgButtonHandler);
}


View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {
        imgButton.setBackgroundResource(R.drawable.ic_launcher);

    }
};

РЕДАКТИРОВАТЬ 2: ЭТО РАБОТАЕТ. Спасибо всем.

ImageButton button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button= (ImageButton)findViewById(R.id.imgButton);
    button.setOnClickListener(imgButtonHandler);
}


View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {
        button.setBackgroundResource(R.drawable.ic_launcher);

    }
};

Ответы на вопрос(5)

Ваш ответ на вопрос