android fragment清晰启动写法以及在dialog中的应用

这几天需要将之前项目用到的一个fragment加入到dialog中

本来这种情况应该是用dialogFragment完成的,不过又不想以后有修改时又要同时改fragment和dialogfragment

于是就决定将原来的fragment塞进dialog中

在之前的尝试中,不知道我有没有写错,我发现fragment不能动态加入dialog的布局中,只能通过静态布局的方法写在dialog的布局文件


由于之前的fragment写得不好,在调试的时候会到遇到onCreateView不成功,导致静态布局有error


看了郭霖大神的书之后,看到了一种解决方案


就是在fragment的onCreateView中,只做inflate view,而不做其他的操作


在自定义的fragment中,定义一个方法(如:refresh),在refresh()中对view进行处理


如:

public class MyFragment extends Fragment {
	TextView title;
	TextView content;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		View view;
		view = inflater.inflate(R.layout.fragment_layout,container, false);
		title = (TextView) view.findViewById(R.id.dialog_title);
		content = (TextView) view.findViewById(R.id.dialog_content);
		return view;
	}

	public void refresh(String title, String content) {
		// TODO Auto-generated method stub
		this.title.setText(title);
		this.content.setText(content);
	}
}

这样,就保证return view肯定能够被正确返回,在refresh中的debug也会轻松很多


你可能感兴趣的:(android)