fragment 如何向 activity 传递数据

bshedu1 2014-07-10 11:21:17
大家好,我现在有一个fragment 里面放的是listview 点击其中一个list 想要跳转到另一个界面去显示详情
现在写了一个activity来接受listview 点击的那个item是数据 但是通过 intent.putExtra 后 在新开的activity 接受不到

求解决思路

另外 我这个详情页面应该用activity 还是 fragment啊 ? 我是想做成 actionbar那样的第二级界面 listview 是第一级 详情是第二级
...全文
37283 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘某人程序员 2016-06-13
  • 打赏
  • 举报
回复
父类Activity ,eventbus也不错
山鹰1985 2016-06-13
  • 打赏
  • 举报
回复
引用 楼主 bshedu1 的回复:
大家好,我现在有一个fragment 里面放的是listview 点击其中一个list 想要跳转到另一个界面去显示详情 现在写了一个activity来接受listview 点击的那个item是数据 但是通过 intent.putExtra 后 在新开的activity 接受不到 求解决思路 另外 我这个详情页面应该用activity 还是 fragment啊 ? 我是想做成 actionbar那样的第二级界面 listview 是第一级 详情是第二级
最简单粗暴的方法,在 Fragment 宿主的 Activity 中声明一个 static 变量, 你要传 什么类型 ,这个 静态变量就 声明成什么类型, 在你点击事件触发的时候, 把要传递的值 直接 赋值给 这个 静态变量, 就OK了.
Eavan_love 2016-06-13
  • 打赏
  • 举报
回复
楼主 你是如何解决的 我是小白 能否分享一下您的代码是如何实现的
小坏熊 2015-01-14
  • 打赏
  • 举报
回复
fragment.setArguments(bundle)
94941 2015-01-13
  • 打赏
  • 举报
回复
跟平常的传值一样的 我的可以
94941 2015-01-13
  • 打赏
  • 举报
回复
楼主这个问题解决了没 能给个解决方法么
妮_梦 2014-07-11
  • 打赏
  • 举报
回复
引用 10 楼 dam2retamar 的回复:
list.setOnItemClickListener(new ListView.OnItemClickListener() {
	        @Override
	        public void onItemClick(AdapterView<?> a, View v, int position, long l) {
	            try {
	            	String[] datos = datalist[position];
	            	Bundle b = new Bundle();	            	
	        		Intent i = new Intent(getActivity(), Descripcion_programa.class);
	        		b.putStringArray("datos", datos);
	        		i.putExtras(b);
	        		startActivity(i);
	            }
	            catch(Exception e) {
	                e.printStackTrace();
	            }
	        }
	    });
你打开activity,最好用父类activity. 使用方式是getActivity.startActivity(i);
androidfordahai 2014-07-11
  • 打赏
  • 举报
回复
写个回调,在onAttach()的时候
dam2retamar 2014-07-11
  • 打赏
  • 举报
回复
list.setOnItemClickListener(new ListView.OnItemClickListener() {
	        @Override
	        public void onItemClick(AdapterView<?> a, View v, int position, long l) {
	            try {
	            	String[] datos = datalist[position];
	            	Bundle b = new Bundle();	            	
	        		Intent i = new Intent(getActivity(), Descripcion_programa.class);
	        		b.putStringArray("datos", datos);
	        		i.putExtras(b);
	        		startActivity(i);
	            }
	            catch(Exception e) {
	                e.printStackTrace();
	            }
	        }
	    });
gao_chun 2014-07-10
  • 打赏
  • 举报
回复
利用接口实现Fragment与Activity的信息传递. 总结一下Fragment与Activity之间交换数据的方式: * 1 Activity向Fragment传递数据 fragment.setArguments(bundle) * 2 Fragment向Activity传递数据 在Fragment内部定义一个回调接口.让包含该Fragment的 Activity实现该接口.这样Fragment就可调用该回调方法 将数据传给Activity
哎,真难 2014-07-10
  • 打赏
  • 举报
回复
这里是不是要改成context.startActivity(intent);了
bshedu1 2014-07-10
  • 打赏
  • 举报
回复
引用 5 楼 heaimnmn 的回复:
[quote=引用 3 楼 bshedu1 的回复:] [quote=引用 1 楼 heaimnmn 的回复:] 通过父类activity传值
版主你好我现在的代码是这个样的 在fragment里 context = getActivity().getApplicationContext(); Intent intent = new Intent(context,详情页.class); 这样是利用父activity吗?这样是接收不到的[/quote]你贴下详细代码吧,intent.put啥了[/quote] 就传个id fragment面页: context = getActivity().getApplicationContext(); Intent intent = new Intent(context,详情页.class); intent.putExtra("rid", rid); startActivity(intent); 详情页: Intent intent = getIntent(); // 得到基本信息 int _rid = intent.getIntExtra("_rid", 0); 我以前用两个activity 就是这样传的 可以接收到 现在 估计是fragment 不能传给 另外的activity吧
哎,真难 2014-07-10
  • 打赏
  • 举报
回复
引用 3 楼 bshedu1 的回复:
[quote=引用 1 楼 heaimnmn 的回复:] 通过父类activity传值
版主你好我现在的代码是这个样的 在fragment里 context = getActivity().getApplicationContext(); Intent intent = new Intent(context,详情页.class); 这样是利用父activity吗?这样是接收不到的[/quote]你贴下详细代码吧,intent.put啥了
bshedu1 2014-07-10
  • 打赏
  • 举报
回复
引用 2 楼 hjywyj 的回复:
直接写在fragment里又不是不可以
求告知
bshedu1 2014-07-10
  • 打赏
  • 举报
回复
引用 1 楼 heaimnmn 的回复:
通过父类activity传值
版主你好我现在的代码是这个样的 在fragment里 context = getActivity().getApplicationContext(); Intent intent = new Intent(context,详情页.class); 这样是利用父activity吗?这样是接收不到的
  • 打赏
  • 举报
回复
直接写在fragment里又不是不可以
哎,真难 2014-07-10
  • 打赏
  • 举报
回复
通过父类activity传值
颍川公子 2014-07-10
  • 打赏
  • 举报
回复
写个接口回调一下就行了

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧