当前位置:编程学习 > wap >>

viewpager和TabHost使用,activity刷新问题

问题1:activity的onResume里,我对EditText进行setText,onResume这个方法有进去,可为什么木有用啊
问题2:还有一个activity_B里是listview,我用adapter.notifyDataSetChanged(),数据也不刷新。。
       还有个很不解的现象,在另一个activit_A中,弹出输入法一下,再切回去,activity_B数据就刷新               了。。
ps:分不多了。。各位见谅 viewpager TabHost activity 刷新 --------------------编程问答-------------------- 弹出输入法一下,再切回去,activity_B数据就刷新               了

 你的activity 重新加载一次了吧  --------------------编程问答--------------------
引用 1 楼 sky123123 的回复:
弹出输入法一下,再切回去,activity_B数据就刷新               了

 你的activity 重新加载一次了吧


我也不晓得这样算不算重新加载,不过我的目的就是想这样,怎样让它自己就会刷新,而不用先弹一下输入法。
我之前写的一个程序可以根据数据源的改变自己刷新listview,可这次这个死活不行。。感觉都是这么写的啊。。。这问题找了两天了 --------------------编程问答-------------------- 代码贴上来 让大家帮你瞅瞅吧。 --------------------编程问答-------------------- 同样遇到问题啊,我也 viewpager + TabHost的实现,在一个界面编辑完后,存入数据库,再次进入到主界面后数据读取正确,但是activity得显示没更新啊,苦恼死了,求解答啊 --------------------编程问答--------------------
引用 4 楼 caoben2008 的回复:
同样遇到问题啊,我也 viewpager + TabHost的实现,在一个界面编辑完后,存入数据库,再次进入到主界面后数据读取正确,但是activity得显示没更新啊,苦恼死了,求解答啊


可是没大手来帮忙啊。。我查了两天了。。讲的都不是这种情况。。。 --------------------编程问答-------------------- 1. 既然能进到onresume方法中,看下值是不是空的,或者先给它赋个死值。
2. 试下重新listview.setAdapter(); 有可能是你赋值的ArrayList不是一个所以使用notifyDataSetChanged无效。 --------------------编程问答-------------------- TabHost里加载Intent 的时候用这段代码即可. Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 每次切换TabHost都重新加载Intent  --------------------编程问答-------------------- 我也是啊,线程明明起来了,但是ListView死活不显示,我的是第一个加载的activity,启动线程是在OnStart()里,求助啊 --------------------编程问答--------------------
引用 6 楼 pby_bob 的回复:
1. 既然能进到onresume方法中,看下值是不是空的,或者先给它赋个死值。
2. 试下重新listview.setAdapter(); 有可能是你赋值的ArrayList不是一个所以使用notifyDataSetChanged无效。

我试过把adapter放到全局里,在另一个Activity里notifyDataSetChanged,切回来数据是可以刷新的。所以应该不是数据源弄错的关系 --------------------编程问答--------------------
引用 8 楼 xiaozhuzhuma 的回复:
我也是啊,线程明明起来了,但是ListView死活不显示,我的是第一个加载的activity,启动线程是在OnStart()里,求助啊

解决了,在Adapter里添加
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
    if (observer != null) {
        super.unregisterDataSetObserver(observer);
    }
}
就可以了,希望能够帮助你 --------------------编程问答--------------------
引用 10 楼 xiaozhuzhuma 的回复:
引用 8 楼 xiaozhuzhuma 的回复:我也是啊,线程明明起来了,但是ListView死活不显示,我的是第一个加载的activity,启动线程是在OnStart()里,求助啊
解决了,在Adapter里添加
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
……

还是没效果啊  你是viewpage和tabhost做的吗  是3个activity吗
--------------------编程问答--------------------
引用 8 楼 xiaozhuzhuma 的回复:
我也是啊,线程明明起来了,但是ListView死活不显示,我的是第一个加载的activity,启动线程是在OnStart()里,求助啊

官方好像就说viewpager是和fragment配合使用的。。
我改成fragment了。。完全没问题。。。 --------------------编程问答-------------------- listview一开始有数据的时候,之后可以自动刷新。。如果没有就不会刷新。。。这什么个情况。。。 --------------------编程问答-------------------- 引用 8 楼 xiaozhuzhuma 的回复:
我也是啊,线程明明起来了,但是ListView死活不显示,我的是第一个加载的activity,启动线程是在OnStart()里,求助啊
官方好像就说viewpager是和fragment配合使用的。。
我改成fragment了。。完全没问题。。。 
=============================================
能详细讲一下吗? --------------------编程问答-------------------- viewpage+tabhost+listactivity 
我是想onDestory()后   重新start 但是界面还是没更新 --------------------编程问答-------------------- notifyDataSetChanged无效的问题,可能是因为你针对的数据源list已经不是之前那个,看看有没有new一个新的。只当这个list对象还是以前那个,在list内容改变的时候,才会动态刷新
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,