zoukankan      html  css  js  c++  java
  • activity传值到fragment

    1,初始化fragment时候:

    @Override
    public void onAttach(Activity activity) {

    /** 注册广播 */
     
    initBroadcast();
    super.onAttach(activity);
    }

    BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    String dat = intent.getExtras().getString("data");
    if (dat.equals("log_ok")) {
    setData(); //获取数据并更新数据
    } else {
    double a = userinfo.getAvailableMoney()
    - Double.parseDouble(dat);
    userinfo.setAvailableMoney(a);// 改变可用额

    st[4] = String.valueOf(a);
    UserUtil.getInstant().saveUserArray(getActivity(), st);
    // usable_cash_txt.setText(String.valueOf(a));
    }
    }
    };

    private void initBroadcast() {
    // TODO Auto-generated method stub
    IntentFilter filter = new IntentFilter(action);
    getActivity().registerReceiver(broadcastReceiver, filter);
    }

    同时开启一个activity:

    startActivity(new Intent(getActivity(), LoginActivityCenter.class));

    2,在activity中获取网络数据后,进行数据存储,并广播给fragment;

     
    Intent intent = new Intent(CenterFragment.action);
    intent.putExtra("data", "log_ok");
    sendBroadcast(intent);

    LoginActivityCenter.this.finish();

    3.在fragment重写方法onResume,获取activity存储的数据,并更新;


    @Override
    public void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    initBroadcast();
    Log.i("i", " MyFragment onResume() ");
    }

  • 相关阅读:
    VMware虚拟机网络桥接模式下无法与主机ping通解决办法
    (一)编写Bootloader程序应该注意的一些问题
    使用TrueSTUDIO和MDK编译器生成.bin文件
    Linux开发板通过串口与电脑上位机通信
    STM32知识点
    仿真器SWD可不接复位引脚的原因
    ARM内核常用缩写含义
    三大范式(转)
    修改主键示例
    ROW_NUMBER用法详解
  • 原文地址:https://www.cnblogs.com/manmanlu/p/4402990.html
Copyright © 2011-2022 走看看