Ich möchte ein VideoView schließen, wenn ich die Zurück-Taste drücke und das Video abgespielt wird.Schließen Sie das Video in VideoView, wenn ich die Taste
Hier mein Code:
public class MainActivity extends AppCompatActivity {
public Integer[] mVideo = {
R.raw.clesella, R.raw.simonino,
R.raw.ennio, R.raw.zip,
R.raw.pippo, R.raw.monituri
};
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new VideoAdapter(this));
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final VideoView mVideoView2 = (VideoView) findViewById(R.id.video);
String uriPath = "android.resource://"+ getPackageName()+"/"+mVideo[position];
Uri uri2 = Uri.parse(uriPath);
mVideoView2.setVideoURI(uri2);
mVideoView2.requestFocus();
mVideoView2.setVisibility(view.VISIBLE);
gridview.setVisibility(view.GONE);
mVideoView2.start();
mVideoView2.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
//write your code after complete video play
mVideoView2.setVisibility(View.GONE);
gridview.setVisibility(View.VISIBLE);
}
});
mVideoView2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent motionEvent) {
if (mVideoView2.isPlaying()) {
mVideoView2.pause();
return false;
}
else {
mVideoView2.start();
return false;
}
}
});
}
});
}
}
Wie Sie sehen können, nehme ich Videos aus dem rohen Ordner und ich in einem Gridview füllen. Wenn ich auf den Gegenstand tippe, wird das Video gestartet. Ich möchte das VideoView GONE und das GridView wie in setOnCompletiontionListener sichtbar machen, aber wenn das Video abgespielt wird, drücke ich die Zurück-Taste.
Danke für die Hilfe. Genau wo muss ich diesen Teil des Codes setzen? Sorry für die Frage, ich fange jetzt mit Android an zu entwickeln. –
Sie sollten es in Ihre 'MainActivity' setzen. Einfach "onBack" eingeben und "Strg + Leertaste" drücken .... und die Magie passiert;) –
Überall in Ihrer Aktivität. –