点击时刷新webview里的数据

本文介绍了如何在Android项目中实现点击事件触发WebView的数据刷新。在错题集Fragment收藏错题后,切换到收藏Fragment时,通过调用NetDataLayer中的方法,使用线程更新收藏数据,确保显示最新信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击时刷新数据

用处:在项目中,在错题集Fragment收藏了错题后,点到收藏Fragment以后,收藏Fragment刷新收藏题数据;

NetDataLayer 中的方法:
// 获取收藏题的数量接口
// http://10.0.0.194:96/api.php?action=getcount
// uid 用户ID
// scode 登录校验码
// clienttype 1:android手机客户端 3:IOS手机客户端
// 返回
// favor_count 收藏题的数量
public static String http_getcount() {
    String write_data = "uid=" + UserHelper.userId
            +"&scode=" +UserHelper.token
            +"&clienttype=1";
    return get_Http_Post("http://"+ApplicationApp.ipAdd + "/api.php?action=getcount", write_data);
}
然后在Activity_Main中写一个线程,当点击了收藏Fragment后,调用这个线程:
// 获取收藏题数量子线程
// 如果第一次count为空,将数据存入,每次进入时进行判断count和favor_count,如果相等不刷新,不相等刷新    
private GetCount getcount=null;
class GetCount extends Thread{
    @Override
    public void run() {
        try {
            String result = NetDataLayer.http_getcount();
            JSONObject resultJO = new JSONObject(result);
            if (CheckData.checkData(context, resultJO) == 0) {
                JSONObject resultResultJO = new JSONObject(CheckData.parseData(resultJO));
                if (count != null) {
                    // 取数据
                    SharedPreferences sp = getSharedPreferences("counts", Context.MODE_PRIVATE);
                    String count = sp.getString("favorCount", null);
                    if (!resultResultJO.optString("favor_count").equals(count)) {
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                fragment_web_collect.reLoad();
                            }
                        });
                    }
                }
                // 存数据
                SharedPreferences sp = getSharedPreferences("counts", Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = sp.edit();
                editor.putString("favorCount", resultResultJO.optString("favor_count"));
                editor.commit();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
点击事件:
@Override
public void onClick(View v) {
    switch (v.getId()) {
        ...
        // 点击收藏
        case R.id.radio_button2:
            if (!UserHelper.userId.isEmpty() ) {
                changeIconAndTextColor(2);
                // 启动获取收藏题数量的线程
                getcount = new GetCount();
                getcount.start();
                main_viewpager.setCurrentItem(2);
            } else {
                Intent intent1 = new Intent(this, Activity_Login.class);
                startActivity(intent1);
            }
            break;
       ...
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值