Fragment和Activity通讯

一、Fragment端

在fragment 中 startActivityForResult


private static final int  <span style="font-family: Arial, Helvetica, sans-serif;">WITHDRAW =0;//整数</span>
//如果网络不好 没有拿到 可提现额 不让点
			if(!withDrawMoney.getText().equals("")&&!(withDrawMoney.getText()==null)){
				Intent moneyIntent = new Intent();
				moneyIntent.setClass(getActivity(),
						com.icloudsoft.handcashier.center.WithdrawActivity.class);
				
				moneyIntent.putExtra("withdrawMoney", Double.valueOf(withDrawMoney.getText().toString()));
				moneyIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
				startActivityForResult(moneyIntent, WITHDRAW);
				// 设置activity切换动画,从右边进入,左边退出
				getActivity().overridePendingTransition(
						R.anim.activity_in_from_right, R.anim.activity_out_to_left);
			}


在fragment中OnActivityForResult()

	@Override
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		// Activity.RESULT_OK =-1   Activity.RESULT_CANCELED=0
		if (resultCode != Activity.RESULT_OK){
			System.out.println("进入onActivityResult return ==============");
			return;
		}
			
		
		if(requestCode == WITHDRAW){
			System.out.println("进入onActivityResult WITHDRAW==============");
			Double money = data.getDoubleExtra(WithdrawActivity.UPDATE_WIRHDRAW,0); //拿到setresult中设置的值
			
		}

	}


二、Activity接收端


public final String <span style="font-family: Arial, Helvetica, sans-serif;">UPDATE_WIRHDRAW=“update withdrew”  // string 型</span><pre name="code" class="java">

 
if (getIntent() != null) {
			totalMoney = Double.valueOf( getIntent().getDoubleExtra("withdrawMoney", 0)); // 收到startActivty中设置的值
			System.out.println("total money is: "+totalMoney);
		}

Activity拿到值做了处理后给fragment回值

				Intent i = new Intent();
				Bundle bundle=new Bundle();
				String money=withdraw_et.getText().toString();
				System.out.println("bundle.putDouble money is: "+money+" Double.valueOf(money) "+Double.valueOf(money));
				bundle.putDouble(UPDATE_WIRHDRAW, Double.valueOf(money));
				i.putExtras(bundle);
		        setResult(Activity.RESULT_OK,i);
</pre>或者直接传double类型<pre name="code" class="java"><span style="white-space:pre">				</span>Intent i = new Intent();
				String money=withdraw_et.getText().toString();
				System.out.println("bundle.putDouble money is: "+money+" Double.valueOf(money) "+Double.valueOf(money));
				i.putExtra(UPDATE_WIRHDRAW, Double.valueOf(money));
		        setResult(Activity.RESULT_OK,i);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值