Установка OnClickListener в ImageButton

98
7

Я попытался установить OnClickListener в свой imageButton но это не сработало. Я видел другие вопросы по теме, но ни один из анскеров не работает для меня. Я делаю что-то неправильно?

MainActivity.java

 public void Button()
{
View.OnClickListener listSet = new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Toast.makeText(getApplicationContext(), "settings", Toast.LENGTH_LONG).show();

}
};
boton= (ImageButton) findViewById(R.id.imageButton7);
boton.setOnClickListener(listSet);
}

Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.xxxx.xxx.MainActivity"
android:orientation="vertical"
android:weightSum="1"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
>
<WebView
android:id="@+id/webV"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true">
</WebView>

<ImageButton
android:id="@+id/imageButton7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="@android:color/background_light"
android:src="@drawable/ic_gear"
tools:background="@android:color/background_light"
tools:ignore="ContentDescription" />
</RelativeLayout>

спросил(а) 2021-01-28T00:40:26+03:00 4 месяца, 3 недели назад
1
Решение
88

Установите свойство clickable ImageButton в true

<ImageButton
android:id="@+id/imageButton7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:clickable="true"
android:background="@android:color/background_light"
android:src="@drawable/ic_gear"
tools:background="@android:color/background_light"
tools:ignore="ContentDescription" />

ответил(а) 2021-01-28T00:40:26+03:00 4 месяца, 3 недели назад
45

пытаться:

    boton= (ImageButton) findViewById(R.id.imageButton7);
boton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
Toast.makeText(this, "settings", Toast.LENGTH_LONG).show();

}
};);

ответил(а) 2021-01-28T00:40:26+03:00 4 месяца, 3 недели назад
45

Попробуй это:

  ImageButton ib = (ImageButton) ad.findViewById(R.id.imageButton7);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "settings", Toast.LENGTH_SHORT).show();
}
});

ответил(а) 2021-01-28T00:40:26+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема