vv2 and the others cannot be resolved because you declared them locally inside the onCompletion methods. So yes, you should use a counter or something and then play the videos that way.
public class FullscreenActivity extends Activity {
private int[] data = new int[]{R.raw.intro_video_part1, R.raw.intro_video_part2,
R.raw.intro_video_part3, R.raw.intro_video_part4, R.raw.intro_video_part5, R.raw.intro_video_part6};
int counter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_fullscreen);
VideoView vv1 = (VideoView) findViewById(R.id.fullscreen_content);
vv1.setVideoPath("android.resource://" + getPackageName() + "/" + data[counter]);
vv1.start();
vv1.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
counter++;
vv1.setVideoPath("android.resource://" + getPackageName() + "/" + data[counter]);
vv1.start();
}
});
}