EnGold
@EnGold

Почему switchcompat(sw4) выдает null?

я пытался сделать настройки с помощью диалогового окна, но я не могу задать switchcompat'у(sw4) setChecked из-за того, что он не может привязаться к switchcomapt'у из диалогового окна
case R.id.setting:
                    load();
                    AlertDialog.Builder builder = new AlertDialog.Builder(GameScreen.this);
                    RelativeLayout setting_screen = (RelativeLayout) getLayoutInflater().inflate(R.layout.setting, null);
                    builder.setView(setting_screen);
                    dialog = builder.create();
                    sw4 = findViewById(R.id.music);
                    dialog.show();
                    break;

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="260dp"
    android:layout_height="390dp"
    android:background="@drawable/wall"
    android:padding="7dp">

    <androidx.appcompat.widget.SwitchCompat
        android:id="@+id/music"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:checked="true"
        android:drawableStart="@drawable/musictxt"
        android:gravity="left"
        android:minHeight="48dp"
        android:onClick="onof"
        android:scaleType="fitCenter" />

</RelativeLayout>
  • Вопрос задан
  • 23 просмотра
Решения вопроса 1
EnGold
@EnGold Автор вопроса
короче, надо в OnCreate сделать инициализацию диалога и свитчу дать не просто findViewById, а [layout].findViewById
builder = new AlertDialog.Builder(GameScreen.this);
        RelativeLayout setting_screen = (RelativeLayout) getLayoutInflater()
                .inflate(R.layout.setting, null);
        builder.setView(setting_screen);
        dialog = builder.create();
        sw4 = setting_screen.findViewById(R.id.music);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы