在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了。

相關文章
相關標籤/搜索