2014-07-08 60 views
0

我想顯示我的視頻裏面我的ListView的預覽,我已經通過使用SeekTo()方法完成它,但每當我通過通知適配器刷新ListView ,這個過程也刷新顯然,如何使ListView不刷新它的項目時已經顯示

 holder.PvideoView.setVideoURI(Uri.parse((mCursor.getString 
     (mCursor.getColumnIndex("isfile")).split("\\@ADAT")[1]))); 

     holder.PvideoView.seekTo(3000); 

我需要知道的是有辦法,這不會刷新它的自我儘管已如果該進程已經完成,

+0

我想知道我是否可以通過SetTag()並檢查標記 – user3805809

回答

0

據我所知它總是會自動刷新。你可以做的是將你預覽的當前狀態信息存儲在用於listview的數據類中,並在重新初始化後將其設置爲視頻。

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = (LayoutInflater) context 
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View rootView= inflater.inflate(R.layout.yourLayout, parent, false); 
    VideoView videoView = (VideoView) rootView.findViewById(R.id.yourVideoId); 
    NotifyVideoUpdate(videoView, values[position]); 
    videoView.seekTo(values[position].CurrentTime); 
    return rootView; 
    } 

    public void NotifyVideoUpdate(VideoView view, VideoModel model){ 
     //no idea how to add a listener to the video preview, but add it here and change 
    // the value inside of your model 
    } 
+0

你的意思是每當convertView爲null?因爲無論視圖是否被回收,getView都被調用,我怎麼試過使用我說的convertView爲null時仍然沒有機會的方法 – user3805809

+0

這不是關於重用/ recylcing你的視圖。無論如何,你應該這樣做。我剛剛提供了一個簡單的示例,說明如何在創建/重新創建視圖時查找視頻。 – Frame91