接口传值、回传、修改Fragment 老王版本
A页面///
package com.example.mmaster.jiekoumyapplication.fragment;import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;import com.example.mmaster.jiekoumyapplication.MainActivity; import com.example.mmaster.jiekoumyapplication.R; import com.example.mmaster.jiekoumyapplication.adapter.MyAdapter; import com.example.mmaster.jiekoumyapplication.bean.MyBean;import java.util.ArrayList;/** * A simple {@link Fragment} subclass. */ public class AFragment extends Fragment {private RecyclerView recy;public ArrayList<MyBean> myBeans;public MyAdapter myAdapter;private onlistener listener;
//定义int类型的ipublic int i;public AFragment() {// Required empty public constructor }@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragment View inflate = inflater.inflate(R.layout.fragment_a, container, false);initView(inflate);initData();initListener();return inflate;}private void initListener() {
//适配器调用监听myAdapter.setOnCliK(new MyAdapter.OnClik() {@Override public void OnCliklistener(int position) {//1、点击传值(信号弹) i=position;((MainActivity)getActivity()).vp.setCurrentItem(1);int img = myBeans.get(position).getImg();String name = myBeans.get(position).getName();String age = myBeans.get(position).getAge();MyBean myBean=new MyBean(img,name,age);listener.itemlistener(myBean);}});}private void initData() {myBeans = new ArrayList<>();for (int i = 0; i < 5; i++) {MyBean myBean = new MyBean(R.mipmap.ic_launcher, "兴哥", "男");myBeans.add(myBean);}
//适配器调全局myAdapter = new MyAdapter(myBeans, getContext());recy.setAdapter(myAdapter);}private void initView(View inflate) {recy = (RecyclerView) inflate.findViewById(R.id.recy);
//布局管理器LinearLayoutManager manager = new LinearLayoutManager(getContext());recy.setLayoutManager(manager);}
//接口回调public interface onlistener{void itemlistener(MyBean myBean);}public void setonlistener(onlistener listener){this.listener=listener;} }
///A页面的适配器——最下边写接口回调
package com.example.mmaster.jiekoumyapplication.adapter;import android.content.Context; import android.media.Image; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView;import com.example.mmaster.jiekoumyapplication.R; import com.example.mmaster.jiekoumyapplication.bean.MyBean; import com.squareup.picasso.Picasso;import org.w3c.dom.Text;import java.util.ArrayList;/** * Created by mMaster * on 2018/4/8. * at 北京 */ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Holder> {private ArrayList<MyBean> myBeans;private Context mc;private OnClik onClik;public MyAdapter(ArrayList<MyBean> myBeans, Context mc) {this.myBeans = myBeans;this.mc = mc;}@Override public MyAdapter.Holder onCreateViewHolder(ViewGroup parent, int viewType) {View inflate = LayoutInflater.from(mc).inflate(R.layout.item, parent, false);return new Holder(inflate);}@Override public void onBindViewHolder(MyAdapter.Holder holder, final int position) {holder.age.setText(myBeans.get(position).getAge());holder.name.setText(myBeans.get(position).getName());Picasso.with(mc).load(myBeans.get(position).getImg()).into(holder.img);holder.itemView.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View v) {onClik.OnCliklistener(position);}});}@Override public int getItemCount() {return myBeans.size();}public class Holder extends RecyclerView.ViewHolder {private final ImageView img;private final TextView name;private final TextView age;public Holder(View itemView) {super(itemView);img = itemView.findViewById(R.id.img);name = itemView.findViewById(R.id.name);age = itemView.findViewById(R.id.age);}} //接口public interface OnClik{void OnCliklistener (int position);}public void setOnCliK(OnClik onClik){this.onClik=onClik;} }
B页面//
B页面XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" tools:context="com.example.mmaster.jiekoumyapplication.fragment.BFragment"><!-- TODO: Update blank fragment layout --> <ImageView android:id="@+id/img" android:layout_width="200dp" android:layout_height="200dp" android:background="@mipmap/ic_launcher" android:layout_gravity="center_horizontal" /><EditText android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="hh" /><EditText android:id="@+id/age" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="hh" /><Button android:id="@+id/qd" android:text="确定" android:layout_width="150dp" android:layout_height="wrap_content" /> </LinearLayout>
B页面//
package com.example.mmaster.jiekoumyapplication.fragment;import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView;import com.example.mmaster.jiekoumyapplication.MainActivity; import com.example.mmaster.jiekoumyapplication.R; import com.example.mmaster.jiekoumyapplication.bean.MyBean;/** * A simple {@link Fragment} subclass. */ public class BFragment extends Fragment implements AFragment.onlistener {private ImageView img;private TextView name;private TextView age;private Button qd;public BFragment() {// Required empty public constructor }@Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragment View inflate = inflater.inflate(R.layout.fragment_b, container, false);initView(inflate);initData();return inflate;}private void initData() {//2、 B页面修改 ((MainActivity)getActivity()).aFragment.setonlistener(this);//3、确定修改返回 qd.setOnClickListener(new View.OnClickListener() {@Override public void onClick(View v) {((MainActivity)getActivity()).vp.setCurrentItem(0);((MainActivity)getActivity()).aFragment.myBeans.get(((MainActivity)getActivity()).aFragment.i).setName(name.getText().toString());((MainActivity)getActivity()).aFragment.myBeans.get(((MainActivity)getActivity()).aFragment.i).setAge(age.getText().toString());((MainActivity)getActivity()).aFragment.myAdapter.notifyDataSetChanged();}});}private void initView(View inflate) {img = (ImageView) inflate.findViewById(R.id.img);name = (TextView) inflate.findViewById(R.id.name);age = (TextView) inflate.findViewById(R.id.age);qd = inflate.findViewById(R.id.qd);}@Override // 2、自动调出来的 public void itemlistener(MyBean myBean) {name.setText(myBean.getName());age.setText(myBean.getAge());} }
接口传值、回传、修改Fragment 老王版本相关推荐
- 狗蛋(驱动小白)和老王(硬件老司机)关于硬件那点事儿的一次密谈
引子 "老王,有个bug啊,很紧急啊?" QA急忙反馈到. "什么问题? 老王心里咯噔了下,心想,NND,被QA缠住,看来今晚又得和我的躺椅相依为伴了." &q ...
- perl数组硬引用_Perl 继续前行,Perl 7 将是下一代(硬核老王点评版)
它是默认带有现代行为的 Perl 5,将为以后更大的变化奠定基础. 来源:https://linux.cn/article-12349-1.html 作者:Brian D Foy 译者:Xingyu. ...
- Android 8.0 linux内核,在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序---Android8.0版本实现-对照老罗版本...
老罗版本参见:https://blog.csdn.net/luoshengyang/article/details/6573809 在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简 ...
- 【老王读Spring AOP-3】Spring AOP 执行 Pointcut 对应的 Advice 的过程
Spring AOP 执行 Pointcut 对应的 Advice 的过程 前言 版本约定 正文 jdk proxy 是如何执行 Pointcut 对应的 Advice 的? 获取 Advice 链的 ...
- 隔壁老王的女朋友都能学会的ELK实战之elasticsearch
文章目录 准备工作 本文所用操作系统: 系统详细信息: 系统内核: 系统版本: 系统内存 本文所用ELK软件版本: 软件下载地址: 将ELK所需要的软件上传到服务器 新建文件夹xinsz08 上传软件 ...
- 厉害了隔壁老王,带你入坑腾讯联机对战引擎!
前文导读: <联机对战!隔壁老王都入坑了,你还在等啥?> 前面我们介绍了『开心鼠吃象』这个游戏的玩法,以及对战引擎的注册开通,这次给大家介绍MGOBE实战操作! 如果你对MGOBE还不太了 ...
- 不容错过!鸿蒙开发必备神器,老王月薪过万的秘诀都在这了
大家应该都知道在华为开发者大会HDC.Together 2021主题演讲会上,华为发布了HarmonyOS3.0.0开发者预览版. 预览版本中包含IDE工具DevEco Studio 3.0和DevE ...
- 老王,你的wifi密码怎么改了啊
最近看到一则新闻:说小朋友一天在家上不了网课了,原来是邻居家的wifi 密码改了.那么问题来了,我们怎么知道邻居家的密码改了呢? 如果邻居 ""老王""的密码还 ...
- 在昨天夜黑风高的晚上,我偷了隔壁老王的Python入门课件,由浅入深堪称完美!
隔壁老王是一个资深码农,就业教育事业的秃顶之才 昨天我下楼打酱油,看他迎面走来,满目春光 我好奇的问道:老王,有什么好事,隔壁小花叫你上门了吗? 老王:秘密!! 我心想:哎呦~不错啊 半晚之时,连猫狗 ...
最新文章
- 伤害世界怎么自建服务器,Hurtworld伤害世界服务器怎么架设?服务器架设图文教程...
- 连接失败_iG.Firefox连接失败?iG新赛季仍未敲定主教练人选
- 我的Go+语言初体验——10秒真男人游戏
- 粗略。。类设计的基本经验3之笔记
- 比较第一与第二个字符串,是否有连续的5个字符相同.sql
- oracle redo 200mb,Oracle的redo log在各场景下的恢复
- 解决安装SQL Server 2000提示文件挂起的一般方法
- gulp 批量添加类名 在一个任务中使用多个文件来源
- java设计模式适配器模式_Java解释器设计模式
- Linux第十一周微职位
- URAL 1934 	Black Spot --- 最短的简单修改
- requests.session()的用法
- 惠普bios硬重置_惠普BIOS密码重置工具|惠普笔记本BIOS密码重置工具 - 万方软件下载站...
- 使用加密解密技术和CA认证解决网络传输中的安全隐患
- cad尺寸标注快捷键_CAD快速在尺寸标注后加上公差的方法有哪些?【AutoCAD教程】...
- virtualbox 创建桥接网络_VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通...
- PDF文件转换成什么格式最适合编辑?
- 蓝桥杯——种植园问题(prev54)
- git clone时遇到问题:remote: Incorrect username or password ( access token )
- ipad协议最新版本