欢迎光临散文网 会员登陆 & 注册

返回数据到上一个activity/fragment

2023-05-17 08:04 作者:限量版范儿  | 我要投稿

我的理解:首先,在源activity/fragment中进行跳转语句,并写入一个request,跳转后在跳转的activity进行返回数据,写入一个result,返回到源活动,然后在原活动进行重写onActivityResult方法,进行接收匹配。

首先,基本思路是这样,但是对于fragment和activity有些许区别,主要体现在:

跳转activity

//setResult(RESULT_OK,intent);

//finish();

但是fragment中是没有这个方法代码的,又相应的替换的代码,

但是我i项目仅仅用到了activity向fragment传值,所以没有涉及到,而在源活动中,onActivityResult大致一样,以下为我的部分代码:

一:这是fragment向activity内进行跳转

Button myButton = (Button) getActivity().findViewById(R.id.Add_Button);
myButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View view) {

       Intent intent = new Intent(getActivity(), Add.class);
       Bundle bundle = new Bundle();
       bundle.putInt("User_id",User_id);
       intent.putExtras(bundle);
       //2023.5.16更改
       startActivityForResult(intent,1);
       // startActivity(intent);
   }
});
二:我跳转回来的语句Intent intent = new Intent(Add.this, HomeFragment.class);
//更新操作 2023.5.16
System.out.println("comsumer    ===   " + comsumer);
intent.putExtra("already_Login",comsumer);
setResult(RESULT_OK,intent);
finish();
三:源活动接收的语句public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
       super.onActivityResult(requestCode, resultCode, data);
       if (requestCode == 1)
       {
           if(resultCode == RESULT_OK)
           {
               int flag = data.getIntExtra("already_Login",-1);
              // System.out.println("收到了 == " + data.getIntExtra("already_Login",-1));
               if(flag == -1)
               {
                   Toast.makeText(getContext(), "出错了,主人", Toast.LENGTH_SHORT).show();
               }else
               {
                   Toast.makeText(getContext(), "收到了,主人", Toast.LENGTH_SHORT).show();
                   User_id = flag;
                   System.out.println("User_id " + User_id);
                   simpleAdapter = new SimpleAdapter(getActivity(),getData(),R.layout.my_menu,new String[]{"type","money"},new int[]{R.id.myMenu_type,R.id.myMenu_money});
                   listView.setAdapter(simpleAdapter);

               }

           }
       }
   }


 

原文链接:https://www.dianjilingqu.com/739398.html

返回数据到上一个activity/fragment的评论 (共 条)

分享到微博请遵守国家法律