длительное нажатие кнопки не работает - PullRequest
0 голосов
/ 08 июня 2018

у моего приложения есть изображение, и когда я нажимаю кнопку, начинается видео.Я хотел бы изменить видео 1 на видео 2 после долгого нажатия на кнопку, но это не работает.Когда приложение запускается, прочитайте общие настройки, чтобы узнать, какими были последние настройки.Кнопка в полноэкранном режиме.Когда я нажимаю кнопку один раз, видео начинается правильно, а когда оно заканчивается, оно останавливается правильно.Но я не могу долго нажимать кнопку.

это код:

VideoView videoview;
    ImageView immagine;
    Button button;
    Integer flag = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        final SharedPreferences prefs = this.getSharedPreferences("general_settings", Context.MODE_PRIVATE);
        String scelta = prefs.getString("scelta", null);

        if (scelta != "videoA" || scelta != "videoB") {
            scelta = "videoA";
            SharedPreferences.Editor editor = prefs.edit();
            editor.putString("scelta", "videoA");
            editor.commit();}

        button = (Button) findViewById(R.id.button);
        button.setLongClickable(true);
        immagine = (ImageView) findViewById(R.id.imageView2);
        videoview = (VideoView) findViewById(R.id.videoView);
        videoview.setVisibility(View.GONE);

        if (scelta == "videoA") {
            Picasso.get().load(R.drawable.magnumbkg).resize(1920, 1080)
                .centerCrop().into(immagine);
            String path = "android.resource://" + getPackageName() + "/" + R.raw.magnum;
            videoview.setVideoURI(Uri.parse(path));}

        if (scelta == "videoB") {
            Picasso.get().load(R.drawable.thorbkg).resize(1920, 1080)
                .centerCrop().into(immagine);
            String path = "android.resource://" + getPackageName() + "/" + R.raw.thor;
            videoview.setVideoURI(Uri.parse(path));}

        videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                videoview.stopPlayback();
                videoview.setVisibility(View.GONE);
                immagine.setVisibility(View.VISIBLE);
                flag = 0;
            }
        });

        videoview.setOnErrorListener(new MediaPlayer.OnErrorListener() {
            @Override
            public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
                return true;
            }
        });

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                videoview.start();
                videoview.setVisibility(View.VISIBLE);
                immagine.setVisibility(View.GONE);

            }
        });

        button.setOnLongClickListener(
                new Button.OnLongClickListener() {
                    public boolean onLongClick (View V){
                        Intent i = new Intent(activity_main.this, activity_main.class);
                        String scelta2 = prefs.getString("scelta", null);
                        if (scelta2 == "videoA") {
                            SharedPreferences.Editor editor = prefs.edit();
                            editor.putString("scelta", "videoB");
                            editor.commit();
                            startActivity(i);
                            finish();
                        } else if (scelta2 == "videoB") {
                            SharedPreferences.Editor editor = prefs.edit();
                            editor.putString("scelta", "videoA");
                            editor.commit();
                            startActivity(i);
                            finish();
                        }
                        return true;

                    }
                }
        );

    }

}

и это мой макет:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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=".activity_main">

    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent"
        android:longClickable="true"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitCenter"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

Я неЯ знаю, что я не прав, поэтому я надеюсь, что кто-то может мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...