java .lang.IllegalStateException: не удалось найти метод play (View) в контексте родительского или предка для android: определен атрибут onClick - PullRequest
1 голос
/ 18 апреля 2020

Я создал программу, в которую я добавил видео и 3 кнопки. Когда я запускаю на телефоне, программа вылетает. java .lang.IllegalStateException: Не удалось найти метод play (View) в контексте родителя или предка для android: атрибут onClick, определенный для класса представления androidx.appcompat.widget.AppCompatButton с идентификатором video_play в androidx.appcompat. app.AppCompatViewInflater $ DeclaredOnClickListener.resolveMethod (AppCompatViewInflater. java: 436) Это мой код

 VideoView videoPlayer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_home);
        videoPlayer =  (VideoView)findViewById(R.id.videoPlayer);
        String uripath="android.resource://" + getPackageName() + "/" + R.raw.peds;
        Uri myVideoUri= Uri.parse(uripath);
        videoPlayer.setVideoURI(myVideoUri);
    }
    public void play(View view){
        videoPlayer.start();
    }
    public void pause(View view){
        videoPlayer.pause();
    }
    public void stop(View view){
        videoPlayer.stopPlayback();
        videoPlayer.resume();
    }

А вот XML

<Button
        android:id="@+id/video_play"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/videoPlayer"
        android:layout_marginTop="0dp"
        android:onClick="start"
        android:paddingLeft="20dp"
        android:text="Play"
        android:fontFamily="@font/kras"
        android:textColor="#C62828"
        android:shadowColor="#000000"
        android:shadowDx="4.4"
        android:shadowDy="2.4"
        android:shadowRadius="1"
        android:textSize="19sp"/>

    <Button
        android:id="@+id/video_pause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/videoPlayer"
        android:layout_marginTop="0dp"
        android:layout_marginRight="-214dp"
        android:layout_toLeftOf="@id/video_play"
        android:onClick="pause"
        android:text="Pause"/>

    <Button
        android:id="@+id/video_stop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/videoPlayer"
        android:layout_marginTop="0dp"
        android:layout_marginRight="-324dp"
        android:layout_toLeftOf="@id/video_play"
        android:onClick="stop"
        android:text="Stop"
        android:textSize="19sp"/>

1 Ответ

0 голосов
/ 18 апреля 2020

Добавьте к нашей кнопке воспроизведения в xml:

android:onClick="play"

Добавьте к своей кнопке паузы в xml

android:onClick="pause"

Добавьте к своей кнопке остановки в xml

android:onClick="stop"

update

посмотрите, что я сказал выше, и найдите кнопки по ID:

private Button playButton;
private Button pauseButton;
private Button stopButton;


videoPlayer =  (VideoView)findViewById(R.id.videoPlayer);
//add these here
playButton =  (Button)findViewById(R.id.video_play);
pauseButton =  (Button)findViewById(R.id.video_pause);
stopButton =  (Button)findViewById(R.id.video_stop);
...
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...