实现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()方法来创建控件。
摘自: http://blog.csdn.net/hbzh2008/article/details/7458189
实现Activity刷新(转)的更多相关文章
- 高德地图搜索提示获取信息回传activity刷新ui(二)
应用场景: 在主activity中点击进入到另一个activity搜索提示,获取经纬度,点确定返回到主activity,虽然说需求很奇葩,但是遇到了没办法.. 主要包含两部分,搜索提示+activit ...
- 实现Activity刷新 (转)
目前刷新Acitivity,只想到几种方法.仅供参考,如果您有更好的方法,请赐教. 程序界面: 点击refresh view可以刷新界面,点击write content可以在EditText中自动写入 ...
- activity结束之后刷新之前的activity的内容
点击添加按钮之后-----弹出一个新的activity--------在新的activity将数据输入保存之后,关闭当前的activity回到之前的activity刷新内容 实现:使用onActivi ...
- Fragment源码分析
转载请标明出处:http://blog.csdn.net/shensky711/article/details/53171248 本文出自: [HansChen的博客] 概述 Fragment表示 A ...
- TabHost刷新activity的方法
在android中,使用tabHost的时候,如果tab被点击,该tab所对应的activity被加载了,从别的tab切换回来的时候,activity不会再次被创建了(onCreate),所以要想每次 ...
- android项目中刷新activity界面
android项目中在sqlite数据库插入/更新/删除数据后: 1. 刷新当前activity界面数据(手动刷新): 在activity类下新增一个refresh()方法: /** * 刷新, 这样 ...
- activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI
今天遇到挺纠结的问题,由于产品设计的问题,技术上涉及到activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI ...
- Android 实现在Activity中操作刷新另外一个Activity数据列表
做android项目中遇到这样一个问题:有两个acticity,一个显示好友列表,另外一个显示会话列表,现在问题是在会话界面增加一个添加好友功能,添加好友后要求实时的刷新好友列表. 想了想,找了两种方 ...
- 如何从fragment跳到activity再从activity返回(finish()方法返回)刷新fragemnt页面
代码改变世界 如何从fragment跳到activity再从activity返回(finish()方法返回)刷新fragemnt页面 广播方法实现Fragment页面刷新 fragment中重写onA ...
随机推荐
- 动态插入、添加删除表格行的JS代码
<html> <head> <title>Table对象的方法</title> <script language="JavaScript ...
- sh脚本学习之: sh脚本 、sed、awk
sh脚本 sh命令的批处理文件,支持更复杂的逻辑. Shell中的变量 参数 $0 当前脚本路径 $1....$n 脚本执行对应的第n个参数 条件判断 文件判断 test [op] path e存在 ...
- ubuntu下手把手教你搭建SVN服务器
序,我的ubuntu服务器版本是14.04 ,x64(64位)操作系统,服务器在国内. 目录 一.安装SVN服务器 1 安装svn2 创建目录3 创建版本仓库4 配置5 启动SVN服务器6 验证svn ...
- update操作多张表
sql 语句多张表UPDATE用法一.当用一个表中的数据来更新另一个表中的数据,T-SQL提供多种写法(下面列出了二种),但建议用第一种写法,虽然传统,但结构清晰.飞.飞Asp技术乐园并且要注意,当用 ...
- 微信公众平台回复过了怎么不能再次回复?亲们要注意查看"公众平台回复用户消息时限变更通知"的公告啊
有网友一直在问“微信公众平台回复过了怎么不能再次回复?”,其实这个是微信公众平台订阅号设置的一个时间限制,一般都会提示:由于该用户48小时未与你互动,你不能再主动发消息给他.直到用户下次主动发消息给你 ...
- cocos2d-x创建精灵动画方式汇总
1.创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCache::share ...
- 使用python在SAE上搭建一个微信应用,使用有道翻译的api进行在线翻译
1. 准备,先在使用python一步一步搭建微信公众平台(一)中基本实现自动回复的功能后,接着在有道词典上申请一个key,http://fanyi.youdao.com/openapi?path=da ...
- 多层神经网络与C++实现
BP理论部分参考:http://blog.csdn.net/itplus/article/details/11022243 参考http://www.cnblogs.com/ronny/p/ann_0 ...
- 技术分享:WIFI钓鱼的入门姿势
简介 该实验先是搭建一个测试环境,然后创建一个假的无线接入点,把网络连接连接到假的接入点并且强迫用户连接假的无线点. 事先准备 1.无线网卡:无线网卡用于数据包的嗅探和注入. 2. Backtrack ...
- zookeeper 配置详解
http://blog.csdn.net/shenlan211314/article/details/6185176 因博主原创,所以不能转载 下面是更为详细的配置说明: 前面两篇文章介绍了Zook ...