java .lang.IllegalStateException: не удалось найти метод в родительском или родительском всплывающем окне - PullRequest
0 голосов
/ 21 апреля 2020

Я делаю приложение, в котором при нажатии кнопки появляется всплывающее окно. Но возникает исключение. В журнале я видел java .lang.IllegalException. Я искал способ решить это. Может кто-нибудь помочь мне решить эту проблему?

ContentMain. java

public class ContentMain extends AppCompatActivity {

    Dialog popUpDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_main);
        popUpDialog = new Dialog(this);
    }

    public void ShowPopUp(View v) {
        popUpDialog.setContentView(R.layout.new_subject_pop_up);

        TimePicker pickerBegin = (TimePicker)findViewById(R.id.timePickerBegin);
        pickerBegin.setIs24HourView(true);

        Button btnCancel = (Button) popUpDialog.findViewById(R.id.buttonCancel);
        btnCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                popUpDialog.dismiss();
            }
        });
        popUpDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        popUpDialog.show();
    }

}

content_main. xml

<androidx.constraintlayout.widget.ConstraintLayout...>

    <fragment...>

    <Button
        android:onClick="ShowPopUp"
        />

</androidx.constraintlayout.widget.ConstraintLayout>

new_subject_pop_up. xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout...>

    <Button
        android:id="@+id/buttonCancel"
        ...>

    <TimePicker
        android:id="@+id/timePickerBegin"
        android:timePickerMode="spinner"
        ...>

</androidx.constraintlayout.widget.ConstraintLayout>
...