【发布时间】:2013-08-04 21:13:39
【问题描述】:
我有一个包含 3 个活动的简单视频播放器。在我上次的活动中
player.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() != KeyEvent.ACTION_DOWN)
return false;
//
case KeyEvent.KEYCODE_MEDIA_STOP:
finish();
return true;
当我按下停止时,这正是我想要它做的事情:将我带到上一个活动
但是..
player.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mediaPlayer, int i, int i2) {
player.setVisibility(View.GONE);
buffering.setVisibility(View.GONE);
errorDialog.setVisibility(View.VISIBLE);
return true;
}
});
errorDialog 有一个小按钮(由我制作),当您按下它时调用 finish() 将我带回到主要活动(第一个)而不是前一个(第二个),我不明白为什么。 Activity 中的一个新方法,其中包含 finish(),但仍然做同样的事情。 感谢您的时间和支持。
【问题讨论】:
-
对话框中调用
finish()的代码在哪里? -
“对话框”是我制作的自定义按钮:
-
请编辑您的原始问题以包含格式化的 XML。此外,通常应将
android:onClick设置为您 编写的函数的名称,以便您可以完全控制发生的情况。在这种情况下,finish()可能不会做你想让它做的事情。