https://www.cnblogs.com/renhui/p/9267778.html
package com.example.myapplication;
import static com.example.myapplication.R.*;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.app.WallpaperInfo;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.VideoView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layout.activity_main);
List<Character> characterList = new ArrayList<>();
for (char c = 'a'; c <= 'z'; c++) {
characterList.add(c);
}
LetterAdapter mLetterAdapter = new LetterAdapter(characterList);
RecyclerView letterReView = findViewById(id.re_view);
letterReView.setAdapter(mLetterAdapter);
letterReView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
}
private class VH extends RecyclerView.ViewHolder {
VideoView vd;
TextView tv1;
TextView tv2;
public VH(@NonNull View itemView) {
super(itemView);
vd =itemView.findViewById(id.videoView);
tv1 = itemView.findViewById(id.tv1);
tv2 = itemView.findViewById(id.tv2);
}
}
private class LetterAdapter extends RecyclerView.Adapter<VH> {
private List<Character> dataList;
public LetterAdapter(List<Character> dataList) {
this.dataList = dataList;
}
@NonNull
@Override
public VH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new VH(LayoutInflater.from(parent.getContext()).inflate(layout.item_letter, parent, false));
}
@Override
public void onBindViewHolder(@NonNull VH holder, int position) {
Character c = dataList.get(position);
//Uri.parse("android.resource://"+getPackageName()+"/"+ raw.abccc)
//holder.vd.setVideoURI(Uri.parse("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"));
//holder.vd.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+ raw.abccc));
holder.vd.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+ raw.abc));
//holder.vd.requestFocus();
holder.vd.start();
holder.tv1.setText(c.toString());
holder.tv2.setText(String.valueOf(Integer.valueOf(c)));
}
@Override
public int getItemCount() {
return dataList.size();
}
}
}
res raw
需要在AndroidManifest.xml添加两条权限。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />