Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在同一活动中将视频链接从listview发送到videoview_Java_Android_Listview_Gridview_Video Streaming - Fatal编程技术网

Java 在同一活动中将视频链接从listview发送到videoview

Java 在同一活动中将视频链接从listview发送到videoview,java,android,listview,gridview,video-streaming,Java,Android,Listview,Gridview,Video Streaming,我在我的“播放视频”活动中有一个视频视图和listview/gridview。 一个视频已在videoview中播放。但是现在我想播放listview/gridview中显示的其他视频,我如何才能做到这一点 播放视频活动 public class playvideoactivity extends Activity { GridViewWithHeaderAndFooter grid; String videourl="http://www.quirksmode.org/h

我在我的“播放视频”活动中有一个视频视图和listview/gridview。 一个视频已在videoview中播放。但是现在我想播放listview/gridview中显示的其他视频,我如何才能做到这一点

播放视频活动

public class playvideoactivity extends Activity  {

    GridViewWithHeaderAndFooter grid;
    String videourl="http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4";

    private static final String url = "http://dakwf.org/api/bd_english.json";

    private List<ChannelItem> chanellist = new ArrayList<ChannelItem>();
    private static final String TAG = MainActivity.class.getSimpleName();

    public static VideoView player;
    public static ImageButton btnPlayPause;
    private ImageView btnFullscreen;
    private ProgressBar spinner;
    private RelativeLayout mediaController;
    private Handler btnHandler = new Handler();



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        spinner = (ProgressBar) findViewById(R.id.progressBar);
        player=(VideoView) findViewById(R.id.player);
        mediaController=(RelativeLayout) findViewById(R.id.media_controller);
        spinner.setVisibility(View.VISIBLE);
        mediaController.setVisibility(View.INVISIBLE);
        btnPlayPause=(ImageButton) findViewById(R.id.btn_playpause);
        btnFullscreen=(ImageView) findViewById(R.id.btn_fullscreen);

        final CustomGridviewadapter customGridview= new CustomGridviewadapter(this,chanellist);

        grid = (GridViewWithHeaderAndFooter) findViewById(R.id.grid_view);
        setGridViewHeaderAndFooter();
        grid.setAdapter(customGridview);

        //----------- Creating volley request obj--------------------
        JsonArrayRequest movieReq = new JsonArrayRequest(url,new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                Log.d(TAG, response.toString());


                // Parsing json
                for (int i = 0; i < response.length(); i++) {
                    try {

                        JSONObject obj = response.getJSONObject(i);
                        ChannelItem item = new ChannelItem();
                        item.setTitle(obj.getString("title"));
                        item.setThumbnailUrl(obj.getString("image"));



                        // adding movie to movies array
                        chanellist.add(item);

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }

                // notifying list adapter about data changes
                // so that it renders the list view with updated data
                customGridview.notifyDataSetChanged();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());


            }
        });

        // Adding request to request queue
        AppController.getInstance().addToRequestQueue(movieReq);



        //------------------- Mediacontroller Visiblity-------------------------------------

        player.setOnTouchListener(new View.OnTouchListener()
        {
            public boolean onTouch(final View paramAnonymousView, MotionEvent paramAnonymousMotionEvent)
            {
                if (paramAnonymousMotionEvent.getAction() == 0){

                    if (MainActivity.this.mediaController.getVisibility() != View.INVISIBLE) {

                    }

                    MainActivity.this.mediaController.setVisibility(View.VISIBLE);

                    MainActivity.this.btnHandler.postDelayed(new Runnable(){
                        public void run(){


                            MainActivity.this.mediaController.setVisibility(View.INVISIBLE);
                        }
                    }, 2000L);
                }
                for (;;){
                    return true;

                }
            }
        });


        //------FullScreen Button -----

        btnFullscreen.setOnClickListener(new View.OnClickListener(){
            public void onClick(View paramAnonymousView) {
                Intent i = new Intent(MainActivity.this, FullScreenView.class);
                startActivity(i);
            }
        });

        //------Play Pause Button  ----------

        btnPlayPause.setOnClickListener(new View.OnClickListener() {

            public void onClick(View paramAnonymousView){

                if ( (player != null) && (MainActivity.this.player.isPlaying()) ){
                    MainActivity.this.player.pause();
                    MainActivity.this.btnPlayPause.setBackgroundResource(R.drawable.btn_play);

                    return;
                }
                MainActivity.this.player.start();
                MainActivity.this.btnPlayPause.setBackgroundResource(R.drawable.btn_pause);



                return;
            }
        });
        //----------------------------------------


            try {
                MediaController mController = new MediaController(MainActivity.this);
                mController.setAnchorView(player);
                Uri video = Uri.parse(videourl);
                player.setMediaController(mController);
                player.setVideoURI(video);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }

            player.setMediaController(null);
            player.requestFocus();
            player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer arg0) {
                    player.start();
                    hidespinner();

                }
            });

        }




    // ------------ Header Gridview ----------------

    @SuppressLint({"InflateParams", "SetTextI18n"})
    private void setGridViewHeaderAndFooter() {
        LayoutInflater layoutInflater = LayoutInflater.from(this);
        View headerView = layoutInflater.inflate(R.layout.grid_header, null, false);

        //locate views
        TextView headerText = (TextView)headerView.findViewById(R.id.textViewheader);

        headerText.setText("Suggestion");

        headerView.setOnClickListener(onClickListener(0));

        grid.addHeaderView(headerView);
    }

    private View.OnClickListener onClickListener(final int i) {
        return new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (i == 0) {
                 //   Toast.makeText(MainActivity.this, "Header Clicked!", Toast.LENGTH_SHORT).show();
                } else {
                 //   Toast.makeText(MainActivity.this, "Footer Clicked!", Toast.LENGTH_SHORT).show();
                }
            }
        };
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        hidespinner();
    }

    private void hidespinner() {
        if (spinner != null) {
            spinner.setVisibility(View.INVISIBLE);
            spinner = null;
        }
    }



}
公共类playvideoactivity扩展活动{
带有头部和底部栅格的栅格视图;
字符串videourl=”http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4";
私有静态最终字符串url=”http://dakwf.org/api/bd_english.json";
私有列表chanellist=new ArrayList();
私有静态最终字符串标记=MainActivity.class.getSimpleName();
公共静态视频播放器;
公共静态图像按钮BTN显示暂停;
私人图像查看btnFullscreen;
私人旋转棒;
私有RelativeLayout mediaController;
私有处理程序btnHandler=新处理程序();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(ProgressBar)findViewById(R.id.ProgressBar);
player=(VideoView)findviewbyd(R.id.player);
mediaController=(RelativeLayout)findViewById(R.id.media\u controller);
spinner.setVisibility(View.VISIBLE);
mediaController.setVisibility(View.INVISIBLE);
btnPlayPause=(图像按钮)findViewById(R.id.btn\u播放暂停);
btnFullscreen=(ImageView)findViewById(R.id.btn_全屏);
最终CustomGridviewadapter customGridview=新的CustomGridviewadapter(此为chanellist);
grid=(GridViewWithHeader和Footer)findViewById(R.id.grid\u视图);
setGridViewHeaderAndFooter();
setAdapter(customGridview);
//-----------创建截击请求对象--------------------
JsonArrayRequest movieReq=newjsonarrayrequest(url,new Response.Listener()){
@凌驾
公共void onResponse(JSONArray响应){
Log.d(TAG,response.toString());
//解析json
对于(int i=0;i List<ChannelList> list = new ArrayList<>(); // containing all data
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                ChannelList channelList= list.get(position);
                // now you have all data of clicked ChannelList 
                // do whatever you like
                //channelList.getVideoUrl(); etc as your getter method

            }

        }
    });