如何利用其他activity返回的数据刷新fragmentactivity中fragement的界面

panhongheaven 2015-10-19 11:59:06
framegmentActivity 中onActivityResult中获取其他activity返回的值,怎么刷新对用的fragment里面viewpager中textview中的值
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
panhongheaven 2015-10-22
  • 打赏
  • 举报
回复
引用 3 楼 heaimnmn 的回复:
启用一个Service或者广播去刷新,adpater.刷新咯
能上代码么
panhongheaven 2015-10-22
  • 打赏
  • 举报
回复
引用 2 楼 panhongheaven 的回复:
[quote=引用 1 楼 qq_15545283 的回复:] 写一个接口,比如

interface Searchable {
  void onSearch(String keywords);
}
然后在你要更新的fragment类中实现这个接口,并在onSearch方法中写上你的刷新逻辑 然后在FragmentActivity中寻找:
List<Fragment> fragments = getSupportFragmentManager().getFragments();
		for(Fragment temp : fragments) {
			if(temp instanceof Searchable) {
				((Searchable)temp).onSearch(data);
			}
		}
数据是传过去了 我主要是卡在刷新这一块 是要刷新一个ViewPager 其中使用了PagerAdaper ,在instantiateItem方法里面 使用的是GridView ,GridView又使用了adapter 我想要刷新这个adapter里面的其中一个TextView[/quote] 代码: private void InitViewPager(View view) { mPager = (ViewPager) view.findViewById(R.id.vPager); listViews = new ArrayList<View>(); LayoutInflater mInflater = act.getLayoutInflater(); listViews.add(mInflater.inflate(R.layout.lay1, null)); mPager.setAdapter(new MyPagerAdapter(listViews)); mPager.setCurrentItem(0); mPager.setOnPageChangeListener(new MyOnPageChangeListener()); } /** * ViewPager适配器 */ public class MyPagerAdapter extends PagerAdapter { public List<View> mListViews; public MyPagerAdapter(List<View> mListViews) { this.mListViews = mListViews; } public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView(mListViews.get(arg1)); } public void finishUpdate(View arg0) { } public int getCount() { return mListViews.size(); } public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(mListViews.get(arg1), 0); GridView gridview = null; //ImageAdapter ada = null; final Activity act = MainFragment.this.act; switch (arg1) { case 0: if (!g1) { gridview = (GridView) act .findViewById(R.id.MainActivityGrid1); // String key="gridview"; // gridview.setTag(key); ada = new ImageAdapter(act, images1,images2, texts1,texts2); gridview.setAdapter(ada); //ada.notifyDataSetChanged(); } public class ImageAdapter extends BaseAdapter { private Context context; private Integer[] images; private Integer[] images1; private String[] texts; private String[] texts1; public View getView(int position, View view, ViewGroup viewgroup) { ImgTextWrapper wrapper; if (view == null) { wrapper = new ImgTextWrapper(); LayoutInflater inflater = LayoutInflater.from(context); view = inflater.inflate(R.layout.grid, null); view.setTag(wrapper); view.setPadding(25, 15, 15, 15); // 每格的间距 } else { wrapper = (ImgTextWrapper) view.getTag(); } wrapper.textView = (TextView) view .findViewById(R.id.MainActivityText); wrapper.textView.setText(texts[position]); } 就是要更新这个TextView的值,大家帮帮忙
哎,真难 2015-10-22
  • 打赏
  • 举报
回复
启用一个Service或者广播去刷新,adpater.刷新咯
panhongheaven 2015-10-22
  • 打赏
  • 举报
回复
引用 1 楼 qq_15545283 的回复:
写一个接口,比如

interface Searchable {
  void onSearch(String keywords);
}
然后在你要更新的fragment类中实现这个接口,并在onSearch方法中写上你的刷新逻辑 然后在FragmentActivity中寻找:
List<Fragment> fragments = getSupportFragmentManager().getFragments();
		for(Fragment temp : fragments) {
			if(temp instanceof Searchable) {
				((Searchable)temp).onSearch(data);
			}
		}
数据是传过去了 我主要是卡在刷新这一块 是要刷新一个ViewPager 其中使用了PagerAdaper ,在instantiateItem方法里面 使用的是GridView ,GridView又使用了adapter 我想要刷新这个adapter里面的其中一个TextView
a_blesslp 2015-10-20
  • 打赏
  • 举报
回复
写一个接口,比如

interface Searchable {
  void onSearch(String keywords);
}
然后在你要更新的fragment类中实现这个接口,并在onSearch方法中写上你的刷新逻辑 然后在FragmentActivity中寻找:
List<Fragment> fragments = getSupportFragmentManager().getFragments();
		for(Fragment temp : fragments) {
			if(temp instanceof Searchable) {
				((Searchable)temp).onSearch(data);
			}
		}

80,350

社区成员

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

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