实现Activity刷新 (转)
目前刷新Acitivity,只想到几种方法。仅供参考,如果您有更好的方法,请赐教。
程序界面:
点击refresh view可以刷新界面,点击write content可以在EditText中自动写入文字。
1. intent
- package mark.zhang;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.EditText;
- public class RefreshActivityTest extends Activity {
- private EditText showInfo = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- showInfo = (EditText) findViewById(R.id.show);
- Log.d("mark", "refresh this activity!");
- // 获取便于对比启动是哪个Activity
- setTitle("taskId:" + this);
- // 刷新
- findViewById(R.id.button_refresh).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- refresh();
- }
- });
- // 填写文字
- findViewById(R.id.button_write).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- showInfo.append("you have wrote successfully!\n");
- }
- });
- }
- /**
- * 刷新
- */
- private void refresh() {
- finish();
- Intent intent = new Intent(RefreshActivityTest.this, RefreshActivityTest.class);
- startActivity(intent);
- }
- }
这种方式可以启动很多Activity实例,我们不停的点击refresh view这个按钮,就可以看到打印结果:
所以这种方式,如果没有finish()方法,那么会有很多Activity实例存在。假如你不使用finiish()方法的话,多次点击refresh view这个按钮,再点击手机的返回按钮,就会出现很多activity实例。
2. 调用回调方法onCreate
修改refresh()方法,如下:
- /**
- * 刷新
- */
- private void refresh() {
- /*finish();
- Intent intent = new Intent(RefreshActivityTest.this, RefreshActivityTest.class);
- startActivity(intent);*/
- onCreate(null);
- }
运行App,点击write content多次:
点击refresh view按钮:
可以看出,刷新ok!!!!!
这种方法,只有一个Activity实例。
3. invalidate()
这种方法,行不通,只是拿出来说一说。
- /**
- * 刷新
- */
- private void refresh() {
- LinearLayout layout = (LinearLayout) findViewById(R.id.ll);
- layout.invalidate();
- }
4. 重新加载布局文件
这个方法是第二种方法的子集,是一个有Bug的方法。
- /**
- * 刷新
- */
- rivate void refresh() {
- setContentView(R.layout.main);
点击refresh viiew:
但是,再次点击write content不会有效果。
主要是因为,重新加载xml文件之后,需要再次使用findViewById()方法来创建控件。
转自:链接
转载于:https://www.cnblogs.com/YangBinChina/p/4741769.html
实现Activity刷新 (转)相关推荐
- smack+openfire实现Android实时通信(实现大部分基本功能)
1. 开发环境 smack-4.3.4 openfire-4.6.3 开发工具:AndroidStudio openfire下载及安装: 官网:https://igniterealtime.org/p ...
- python xpath语法-Python爬虫:Xpath语法笔记
DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记 今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意 ...
- Android recycleview使用详解,recycleview实现九宫格布局即横向排列,recycleview设置item占位数量大号item或小号item
1.添加recycleview依赖 compile('com.android.support:recyclerview-v7:25.1.1') {force = true } 2.item.xml & ...
- Android 使用RecyclerView实现(仿微信)的联系人A-Z字母排序和过滤搜索功能
之前做项目的时候遇到一个需求是实现品牌的字母排序功能,网上的资料很多,但是有一部分有bug,这篇文章是我学习和解决部分bug之后的总结.今天带来的是RecyclerView的A-Z字母排序和过滤搜索功 ...
- Android APP切换系统语言
1.需求 三方APP实现点击切换语言功能(类似于系统Settings中点击语言自动切换) 2.实现 2.1 跳转到系统Settings的语言选择界面,实现功能 跳转代码: Intent intent ...
- 理解WebViewClient各方法重写的作用
创建并设置一个WebViewClient子类,回调对应的方法改变网页内容的呈现方式,比如:网页加载错误回调onReceivedError(),提交表单错误回调onFormResubmission(), ...
- Android Studio中的手机通讯录开发
Android Studio中的手机通讯录,包含功能(按首字母排序,动态添加) 第一次写博客,也刚踏入工作,想着把自己在项目中遇到的问题,以及自己在工作中所做的项目记录下来,方便以后自己查找知识,一开 ...
- Android Studio 简要实现蓝牙(Bluetooth)通信(附加作业)
文章目录 一.项目实现功能 二.项目核心代码 1.简要实现设备蓝牙通信 2.模拟Client 和Server端实现简单的通信. 三.实验项目截图 四.源代码 一.项目实现功能 1.两台设备可以通过蓝牙 ...
- BroadcastReceiver onReceive()没有被调用
代码个功能是在activity中启动service,在service中获取相关数据后广播给activity,activity刷新界面,但是activity中的onReceive怎么也不执行. 说明:使 ...
最新文章
- 《科学美国人》评出2019年十大突破性技术
- 字符串子串去重之后的个数
- c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...
- EasyDSS高性能流媒体服务器前端重构(五)- webpack + vue-router 开发单页面前端实现按需加载 - 副本...
- 成员/方法/属性/私有
- HOW TO:在 Visual C++ .NET 中从 System::String* 转换为 Char*
- 动态规划算法之:最长公共子序列 最长公共子串(LCS)
- 怎么判断tcp重组完成_网络工程师(8):TCP为什么可靠
- MySQL镜像下载及启动
- 移动**21*设置无法接通_手机通话质量不好?你可能只差一步设置!
- 凯文米特尼克-《欺骗的艺术》[完整中文版][DOC][PDF]
- Linux下本地yum源配置和局域网yum源配置
- docker出现问题:You cannot remove a running container 解决方案
- 巨头特斯拉的进击之路
- Windows11 VMware 此平台不支持虚拟化的 intel vt-x/ept
- 华为擎云 W510 鲲鹏 920 24 核工作站使用体验
- 力推:无限制下载神器aria2
- Android软件开发环境搭建
- 【移动安全高级篇】————3、Android系统ShellCode编写
- 2018三七互娱前端笔试
热门文章
- cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题
- [Android疑难杂症]动态改变Background后Padding无效的问题
- 管理的最高境界:残缺中的和谐
- 浅析Google技术底蕴
- python 语料标注_在python中怎么标记文本?
- etcd 日志压缩_etcd集群备份和数据恢复以及优化运维
- wsl for pycharm vscode
- 计科1高雨妍作业(1)
- editplus的配置和使用
- VK Cup 2012 Qualification Round 2 C. String Manipulation 1.0 字符串模拟