Android Studio Video Player按钮和列表索引

拉法尔·莱万多夫斯基(Rafal Lewandowski)

我学习过Android Studio和Java,我的水平是完全以初学者,但我努力使视频播放器与简单的按钮:PreviousNextexit和选择复选框从列表中随机视频。

到目前为止,它一直有效,但只有一次,接下来的点击只是从头开始播放同一视频。有人可以怜悯并帮助我吗?我一直在找一些代码3天。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<VideoView
    android:layout_width="320dp"
    android:layout_height="240dp"
    android:id="@+id/videoView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Następny"
    android:id="@+id/next"
    android:layout_below="@+id/videoView"
    android:layout_alignRight="@+id/videoView"
    android:layout_alignEnd="@+id/videoView" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Poprzedni"
    android:id="@+id/prev"
    android:layout_alignTop="@+id/next"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Wyjście"
    android:id="@+id/exit"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Losowo"
    android:id="@+id/checkBox"
    android:layout_alignTop="@+id/prev"
    android:layout_centerHorizontal="true"
     />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Start/Stop"
    android:id="@+id/start"
    android:layout_below="@+id/checkBox"
    android:layout_centerHorizontal="true" />

</RelativeLayout>
package no.norskavis.norw1;

import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.VideoView;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Random;


public class MainActivity extends ActionBarActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    Button btn1 = (Button) findViewById(R.id.exit);
    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
            System.exit(0);
        }

    });
        final VideoView videoView = (VideoView) findViewById(R.id.videoView);
        Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.intro);
        videoView.setVideoURI(video);
        videoView.start();
    final List listA = new ArrayList<>();

        listA.add("android.resource://" + getPackageName() + "/" + R.raw.intro);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc1);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc2);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc3);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc4);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc5);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc6);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc7);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc8);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc9);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc10);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc11);




                CheckBox chck= (CheckBox) findViewById(R.id.checkBox);

                if (chck.isEnabled()) {



                    Button next = (Button) findViewById(R.id.next);
                    next.setOnClickListener(new OnClickListener() {
                        Object randomItem = listA.get(new Random().nextInt(listA.size()));
                        @Override


                        public void onClick(View v) {
                            Uri video = Uri.parse((String) randomItem);
                            videoView.setVideoURI(video);
                                                    }
                                                                    }
                                            );
                                        }
                else

                { Button next = (Button) findViewById(R.id.next);
                    next.setOnClickListener(new OnClickListener() {
                                                public void onClick(View v){
                                                    ListIterator<String> listIterator = listA.listIterator();
                                                    Uri video = Uri.parse(String.valueOf(listIterator.nextIndex()));
                                                    videoView.setVideoURI(video);
                                                                            }
                                                                    }
                                            );
                }
    }
拉法尔·莱万多夫斯基(Rafal Lewandowski)

我在应用程序中发现按钮,随机和下一个索引的问题,这就是我的解决方法:

package no.norskavis.norw1;


import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.VideoView;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Random;


public class MainActivity extends ActionBarActivity {
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    Button btn1 = (Button) findViewById(R.id.exit);
    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
            System.exit(0);
        }

    });
        final VideoView videoView = (VideoView) findViewById(R.id.videoView);
        Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.intro);
        videoView.setVideoURI(video);
        videoView.start();
    final List listA = new ArrayList<>();
        listA.add("android.resource://" + getPackageName() + "/" + R.raw.intro);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc1);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc2);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc3);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc4);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc5);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc6);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc7);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc8);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc9);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc10);
    listA.add("android.resource://" + getPackageName() + "/" + R.raw.czesc11);




        Button next = (Button) findViewById(R.id.next);
        next.setOnClickListener(new OnClickListener() {


            CheckBox chck = (CheckBox) findViewById(R.id.checkBox);
            ListIterator listIterator = listA.listIterator();

            public void onClick(View v) {
                Object randomItem = listA.get(new Random().nextInt(listA.size()));

                if (chck.isChecked()) {
                    Uri video = Uri.parse(String.valueOf(randomItem));
                    videoView.setVideoURI(video);
                    videoView.start();
                } else {
                    Uri video = Uri.parse(String.valueOf(listIterator.next()));
                    videoView.setVideoURI(video);
                    videoView.start();

                }


            }
        });
        Button start = (Button) findViewById(R.id.start);
        start.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (videoView.isPlaying())
                {
                    videoView.pause();
                }
                else
                {
                    videoView.start();
                }

            }});

    }







}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Studio(0.3.2)和ZXing

来自分类Dev

如何在Android Video Player上创建渐变叠加并淡出

来自分类Dev

Android Studio和Go?

来自分类Dev

Android Studio共享按钮

来自分类Dev

Android Studio弹出图像按钮

来自分类Dev

Android Studio-按钮大小

来自分类Dev

Android Studio“点击了按钮!”

来自分类Dev

(Android Studio)mTimer和按钮

来自分类Dev

Android studio和Protobuf集成

来自分类Dev

Android Studio冻结索引编制

来自分类Dev

iOS Video Player完成按钮

来自分类Dev

Android Studio-按钮大小

来自分类Dev

如何在Android Studio中制作随机播放列表按钮和重复按钮

来自分类Dev

Android Studio和openimaj

来自分类Dev

单选按钮解析android studio

来自分类Dev

Android Studio-列表视图图像按钮返回错误的位置

来自分类Dev

android studio按钮点击识别

来自分类Dev

在Android Studio中声明按钮

来自分类Dev

Android Studio隐藏和显示条件按钮

来自分类Dev

Android Studio更改按钮的背景

来自分类Dev

Gradle和Android Studio

来自分类Dev

arraylist的索引问题(Android Studio)

来自分类Dev

Android Studio tablerow很多按钮

来自分类Dev

Video Splash 不在屏幕中央 - Android Studio

来自分类Dev

在 Android Studio 中动态添加和保存按钮

来自分类Dev

Android Studio 图层列表渲染

来自分类Dev

单击运行和调试按钮在 Android Studio 中引发 NullPointerException

来自分类Dev

Android Studio 列表视图

来自分类Dev

Android studio 按下按钮显示列表中的单词