我想做一个按钮,允许用户点击时返回到上一页。就像Android设备上的物理返回按钮一样工作。我应该添加到Java文件中吗?
下面是代码(xml):
<Button
android:id="@+id/button00"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="10dp"
android:text="@string/st_pp"
android:textColor="#01646d"
android:background="#fef200"/>
下面是代码(java):
bn00.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent it1 = new Intent(getApplicationContext(), Main.class);
startActivity(it1);
}
});
8条答案
按热度按时间ffdz8vbo1#
使用
finish()
方法返回到上一个Activity。但请注意,在调用当前Activity时,上一个Activity不包含finish()
。验证码:
使用上面的代码,你可以转到你以前的活动。你也可以在
onKeyDown()
方法中调用finish()
,如..bejyjqdl2#
你想要的是在当前的
Activity
上使用finish()
。它将从堆栈中删除当前的Activity
,显示前一个,因此它将作为后退按钮工作。mlmc2os53#
你可以只调用一个finish()到当前的activity,它应该返回到前一个。
有关更多信息,请参见javadoc
31moq8wy4#
finish();
方法将结束当前Activity并显示前一个Activity。但是
onBackPressed();
方法将按下返回按钮。但是默认实现(没有Override)将调用finish();
方法。jk9hmnmh5#
Android有一个硬件返回按钮来完成这项工作。所以我建议不要有一个按钮来做同样的事情。当硬件返回按钮被按下时,返回堆栈中的当前Activity被弹出,销毁,返回堆栈中的前一个Activity获得焦点。
单击按钮时调用finish(),如下所示
mutmk8jj6#
amrnrhlw7#
在你的代码中写“button00”而不是“bn00”,因为你已经在xml中设置了“button00”作为你的按钮id。正如其他人所说的,在
onClick()
方法中调用finish()
。这将结束你当前的Activity并加载尚未完成的前一个Activity。r6vfmomb8#
在Kotlin中,你只需要
btn.setOnClickListener { finish()}