tabhost-安卓数据库改变后,界面的刷新问题

问题描述

安卓数据库改变后,界面的刷新问题

目前学习中遇到的一个问题,希望大神给予解决。
我的activity继承自tabActivity, 给里面的tabhost添加或者删除一个选项的时候,后台的数据库已经才做成功了。但是界面上的东西没办法立即刷新。
需要我退出当前activity然后再重新进来才能将界面刷新。

之前用的listview也存在这个问题,我用notifyDataSetChanged();这个函数解决了。但是现在是tabhost的选项卡添加问题,不知道怎么弄。

小弟刚学安卓,对一些基本的东西可能还不懂,希望有人能帮我找到解决这个问题的方法,万分感谢!

解决方案

有具体代码吗?给代码看看

解决方案二:

你好,我也是新手,所以了解的可能不完全对。

百度了一下发现,在Android 4.0之后 Fragment取代了tabActivity,目前实现TabActivity的效果,用的比较多的是Fragment+ViewPager,你可以考虑优先研究这2个,在实际开发中用这两个的也比较多。

我没有用过tabActivity,也没看到你的代码,感觉你的意思是在onCreate()方法初始化页面之后,在用户操作时动态对tabhost进行删改,逻辑上虽然进行了更改,但是没有调用刷新页面的方法,所以你的Activity的页面是没有变化的。可以研究一下有没有对应的刷新页面的方法。

解决方案三:

view.invalidate();
重新绘制一下就可以了;

解决方案四:

肯定需要在主线程刷新;
private View mContentView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
mContentView = LayoutInflater.from(this).inflate(R.layout.activity_note, null);
setContentView(mContentView);

    要刷新的就是整个 view ;

    如果你是点击触发的,处理完后刷新一下就可以:
        @Override
public void onClick(View v) {
  mContentView.invalidate()
    }

解决方案五:

你好,我用这种方法试了下还是不行啊

这个是我onCreate方法里的代码
handler = new Handler(){
@Override
public void handleMessage(Message msg){
super.handleMessage(msg);
if(msg.what ==1){
Log.i("日志","handle接受消息成功");
cursorTab.requery();
textView.invalidate();
Log.i("日志", "刷新函数textView.invalidate();已经执行");
}
}
};
handler是 定义在activity中的 static public Handler handler;

            然后在另一个java文件中代码如下
            Message message=new Message();
            message.what=1;
            Log.i("日志", "删除子项目");
            AtyText.handler.sendMessage(message);

                            最后日志打印出了
            04-26 15:49:58.235 8126-8126/com.example.administrator.text20160310 I/日志: handle接受消息成功

04-26 15:49:58.236 8126-8126/com.example.administrator.text20160310 I/日志: 刷新函数textView.invalidate();已经执行
说明那个刷新的函数执行了啊,为什么界面还是没变?要怎么才能解决
我实在是基础不行,还望见谅···谢谢了

解决方案六:

你把界面截图出来吧,现在根本不清楚你出来的是什么样子。

解决方案七:


这个是界面的图,我用的tabActivity ,创建tabhost的时候是用的一个数组str1用for循环添加出来的

现在我点那个加号,进行操作,把后台数据库改了(就是数组str1),现在要怎么实现 这个tab刷新出新的结果来, 目前我看有重新启动activity调用onCreate方法后才能改变。 我的tabhost的添加操作是在onCreate方法中的。

解决方案八:

1.我估计你也用到了 Adapter 也需要进行相应的通信数据改变,以刷新界面;
2.如果你用的是 FragmentPagerAdapter可以用notifyDataSetChanged(),在添加数据后刷新;

解决方案九:

监听数据库的变化 使用内容观察者

时间: 2024-10-30 22:01:58

tabhost-安卓数据库改变后,界面的刷新问题的相关文章

推送-java当数据库改变的时候,自动刷新页面。

问题描述 java当数据库改变的时候,自动刷新页面. 在线等~~~~~ 做一个项目要求数据库改变的时候自动刷新页面,找了一下资料有两种方法. 1,定时去查数据库然后刷新 2,数据库自己推送 求大神详借一下俩种或一种. 解决方案 数据库推不了,自己想办法吧,可以做p2p发送消息,写数据的客户端发消息给网内用户 解决方案二: 用udp广播,或者服务器上有一个服务程序,作为某个客户端的消息转发,用socket 解决方案三: 你在对数据库做增删改查的时候写一个回调接口,通知页面更新,java里的观察者模

程序运行一段时间后,界面不刷新 mfc

问题描述 程序运行一段时间后,界面不刷新 mfc 用vc2008做的程序,在自建的线程里,处理蓝牙虚拟串口通信的接收数据和实时显示! 发现程序跑40分钟左右后,界面变灰!但程序没死,数据通信显示正常.其他控件就没了.移动鼠标可以看到,也可以操作!感觉就是主界面不重绘了!如图: 程序运行时看任务管理器的内存,也不大!应该不是内存泄漏的问题 找不出原因了!网上用PeekMessage的方法试了,还是没用!谁能帮忙给个解答! 这个线程机制以前用串口通信和usb虚拟串口通信都是正常的,没出现过这个问题!

visual studio 2010-VS2010 MFC登录对话框打开数据库失败后意外出现主界面的问题

问题描述 VS2010 MFC登录对话框打开数据库失败后意外出现主界面的问题 用VS2010 MFC建立了一个主界面为对话框的函数,要求需要登录对话框,且通过读取数据库来校验用户,代码如下: BOOL CManagementDlg::OnInitDialog()//主对话框初始函数 { CDialogEx::OnInitDialog(); _CLogInDlg dlgLogin; if(dlgLogin.DoModal() != IDOK)//登录对话框 { OnOK(); return TRU

Android 自定义可拖拽View界面渲染刷新后不会自动回到起始位置

以自定义ImageView为例: /** * 可拖拽ImageView * Created by admin on 2017/2/21. */ public class FloatingImageView extends ImageView{ public FloatingImageView(Context context) { super(context); } public FloatingImageView(Context context, AttributeSet attrs) { su

图片-新手开发安卓app的欢迎界面

问题描述 新手开发安卓app的欢迎界面 程序已经写好了 想加一个图片作为欢迎页面 再点击一下进入主页面没什么思路 是要在做一个界面然后加个按钮吗?希望大神解答为什么这样修改之后做程序会停止运行呢?这是修改之前 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SearchView searc

安卓 数据库操作 数据显示

问题描述 安卓 数据库操作 数据显示 在安卓程序开发里用了数据库,用真机调试,不知道数据有没有存进去怎么办file explore下面的data文件夹无法展开下载了re文件浏览器也无法找到dataz这个文件夹这样我偶要怎么才能知道我的数据有没有存进数据库 解决方案 你可以操作完后 将data/data/包名/下面的文件用代码拷贝到SD卡中 解决方案二: 修改文件可读写的权限 解决方案三: 修改文件可读写的权限

dockablepane-mfc mdi窗口最小化状态恢复后没有自动刷新

问题描述 mfc mdi窗口最小化状态恢复后没有自动刷新 程序刚运行时的界面 最小化恢复以后界面 可能是垂直工具条加上以后导致的,之前好像没有这种情况 垂直工具条时用CDockablePane里面嵌一个CMFCToolbar做的,代码为 #include "stdafx.h" #include "ToolboxPane.h" #include "resource.h" CToolboxPane::CToolboxPane(void) { } CT

spring-求助ssh2项目编码问题,特别是session执行数据库操作后的结果的编码

问题描述 求助ssh2项目编码问题,特别是session执行数据库操作后的结果的编码 mysql+MyEclipse开发ssh2项目,各处都设置了utf-8编码格式,但是在session执行save时字符串属性有中文时出错,用get得到某个id的结果时取出其中的字符串属性,中文的也乱码. 之前按照网上说的,将项目属性中的resource编码由gbk改为了utf-8.而且发现spring配置datasource时的url后面加?useUnicode=true&aracterEncoding=UTF

MariaDb数据库管理系统学习(二)使用HeidiSQL数据库图形化界面管理工具

HeidiSQL 是一款用于简单化的 MySQL 服务器和数据库管理的图形化界面.该软件允许你浏览你的数据库,管理表,浏览和编辑记录,管理用户权限等等.此外,你可以从文本文件导入数据,运行 SQL查询,在两个数据库之间同步表以及导出选择的表到其它数据库或者 SQL 脚本当中.HeidiSQL 提供了一个用于在数据库浏览之间切换 SQL 查询和标签带有语法突出显示的简单易用的界面.其它功能包括BLOB 和 MEMO 编辑,大型 SQL脚本支持,用户进程管理等.该软件资源开放. MariaDB安装成