博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android属性设置android:noHistory="true"
阅读量:7251 次
发布时间:2019-06-29

本文共 2145 字,大约阅读时间需要 7 分钟。



设置 android:noHistory="true"后,该Activity在statck中不留历史痕迹。默认的值是false。

举例说明,假设有三个Activity分别是:A,B,C。这三个Activity可以依次顺序启动下一个Activity,比如,在A中做一个Button,用户点击后跳转到B ; 同样,在B中也做一个Button,点击跳转到C。C不再做Button,只是一个用以演示的空壳Activity。

在AndroidManifest.xml中配置B的属性为:android:noHistory="true"

其他两个不做特别设置,仅仅作为一般的Activity处理。

可以观察到,A启动后,从A跳转到B,再从B跳转到C,进入C后,此时如果按返回键,将直接进入A,而不是B。简单的跳转逻辑路线:

A –> B –> C –> 按返回键 –> A

综上,可以这么理解android:noHistory="true"对Activity行为的影响:当该Activity屏幕不可见时,相当于Android系统调用Activity的finish()方法结束了该Activity。

实验代码:

A.java

package zhangphil.test;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.Button;import android.content.Context;import android.content.Intent;import android.os.Bundle;public class A extends ActionBarActivity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		Button button = new Button(this);		button.setText("点击跳转到B");		final Context context = this;		button.setOnClickListener(new View.OnClickListener() {			@Override			public void onClick(View v) {				Intent intent = new Intent(context, B.class);				startActivity(intent);			}		});				setContentView(button);	}}

B.java

package zhangphil.test;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.Button;import android.content.Context;import android.content.Intent;import android.os.Bundle;/** * android:noHistory="true" *  * */public class B extends ActionBarActivity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);				Button button = new Button(this);		button.setText("点击跳转到C");		final Context context = this;		button.setOnClickListener(new View.OnClickListener() {			@Override			public void onClick(View v) {				Intent intent = new Intent(context, C.class);				startActivity(intent);			}		});				setContentView(button);	}}

C.java

package zhangphil.test;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;public class C extends ActionBarActivity {	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);	}}

AndroidManifest.xml

转载地址:http://izebm.baihongyu.com/

你可能感兴趣的文章
【php+uploadify3.2】上传按钮点击一点反应都没有,原因
查看>>
react 使用 moment 进行 日期格式化
查看>>
wamp设置实现本机IP或者局域网访问
查看>>
SDOI2018:荣誉称号
查看>>
WPF中监视DependencyProperty的变化
查看>>
区块链原理基础
查看>>
jdbc操作根据bean类自动组装sql,天啦,我感觉我实现了hibernate
查看>>
PHP实现执行定时任务的几种思路详解
查看>>
几种机器学习框架的对比和选择
查看>>
graphql-yoga interface && union 使用
查看>>
32.QT-制作最强电压电阻表盘,可以自定义阴影效果,渐变颜色,图标,文字标签等-附带demo程序...
查看>>
jquery tmpl 详解
查看>>
Linux iptables 命令
查看>>
bootstrap课程9 bootstrap如何实现动画加载进度条的效果
查看>>
Laravel 5.3 用户验证源码探究 (一) 路由与注册
查看>>
程序员考证之信息系统项目管理师
查看>>
scikit-learn学习笔记
查看>>
mybatis 传入多个参数
查看>>
opencv给图片添加文字水印<转>
查看>>
mysql查询表的数据大小
查看>>