Как удалить кнопку изображения после нажатия?

View.OnClickListener imgButtonHandler3 = new View.OnClickListener() {
    public void onClick(View v) {
        ImageButton btn = (ImageButton) findViewById(R.id.imageButton2);
        btn.setVisibility(View.GONE);
    }
};

Я хочу, чтобы imageButton исчезал или удалялся после нажатия на изображение. Я делаю это приложение на Android Studios, и когда оно запускается, и я нажимаю кнопку изображения, представление не становится скрытым.

Спасибо всем, кто готов помочь!!!


person Mason    schedule 26.04.2016    source источник
comment
См. этот ответ   -  person GAVD    schedule 26.04.2016
comment
setVisibility(View.Invisible) внутри OnClickListener() кнопки   -  person Amit Vaghela    schedule 26.04.2016
comment
установите onClickListner, как сказал Пабло в своем ответе. Вы заставите это работать.   -  person Janki Gadhiya    schedule 26.04.2016


Ответы (3)


Вы создаете обработчик onClick, но, возможно, вы его не устанавливаете:

ImageButton btn = (ImageButton) findViewById(R.id.imageButton2);

View.OnClickListener imgButtonHandler3 = new View.OnClickListener() {
    public void onClick(View v) {
        btn.setVisibility(View.GONE);
    }
};

btn.setOnClickListener(imgButtonHandler3 ); // this sets the handler
person Pablo    schedule 26.04.2016
comment
Пабло, спасибо, попробую. Я очень ценю это! - person Mason; 28.04.2016

Мы можем отключить кнопки в android. Попробуйте приведенный ниже код.

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

    public void onClick(View v) {
        ImageButton btn = (ImageButton) findViewById(R.id.imageButton2);
        btn.setEnabled(false);
    }

};
person Community    schedule 26.04.2016
comment
Речь шла об удалении ImageButton, а не о отключении его. - person Janki Gadhiya; 26.04.2016
comment
то это должно сработать. btn.setVisibility(View.GONE); - person ; 26.04.2016
comment
почему вы публикуете два разных ответа? отредактируйте первый ответ или удалите один - person droidev; 26.04.2016

Используйте btn.setVisibility(View.INVISIBLE) вместо View.Gone

View.OnClickListener imgButtonHandler3 = new View.OnClickListener() {
    public void onClick(View v) {
        ImageButton btn = (ImageButton) findViewById(R.id.imageButton2);
        btn.setVisibility(View.INVISIBLE);
    }
};
person Pitty    schedule 26.04.2016
comment
почему это так?? есть ли разница?? Я имею в виду вещи об удалении либо GONE, либо INVISIBLE. оба уберут. - person Janki Gadhiya; 26.04.2016
comment
no Если вы выполняете GONE, тогда он удалит представление из родительского представления, и пространство этого представления также будет удалено, но если вы делаете INVISIBLE, тогда пространство останется от этого представления, и просто представление будет НЕВИДИМЫМ. - person Pitty; 26.04.2016