在Activity中刷新Fragment

  本篇博客记录的是在一个主Activity中嵌套了一个Fragment,如图java

而后执行完发送后,底部的Fragment内容会清空,个人方法可能会有些笨,但仍是给你们一个借鉴。ide

思路:发送完消息后清空底部GridView的填充数据,而后刷新当前的Activity,而后就ko了。(这里有一个回调)this

代码供上:spa

在Activity里面写一个接口,而后Fragment实现code

public class Activity{接口

      public interface refushFrag{事件

public void refush();get

}博客

   //发送消息事件it

Thread thread=new Thread(new Runnable() {
	@Override
	public void run() {
	    sendMsg(content, "1");
	    String path = upperYun();
	    if(path!=null){
		showPostPaperPic();
	    }
	    refresh();        //刷新当前的Activity
	TakePicFragment.picList.clear();    //清空Fragment填充的list
							
	File sd=Environment.getExternalStorageDirectory();   
	clearPic(sd.getPath()+"/pics");
    }
});
thread.start();

public void refresh() {
	finish();  
        Intent intent = new Intent(ChatActivity.this, ChatActivity.class);  
        intent.putExtra("userName", userName);
        intent.putExtra("fromUser", fromUser);
        startActivity(intent); 
}

下面就是Fragment里面了,这个是实现了Activity中的接口

@Override
public void refush() {
    adapter.notifyDataSetChanged();
}

这里调用我是在onCreateView中调用的

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
	Bundle savedInstanceState) {
	View view = inflater.inflate(R.layout.fragment_pic, container, false);

	gridView = (GridView) view.findViewById(R.id.gridView1);

	adapter = new PicAdapter(getActivity(), picList);
	gridView.setAdapter(adapter);
	if(view!=null){
		refush();
	}
	return view;
}

好了,这样子就ko了。

相关文章
相关标签/搜索