创建以编程方式保存视图的Fragment时,必须始终扩展fragment类并覆盖OnCreateView方法。还有另一种更简单的方法(比如创建一个片段并将视图ID传递给它)。
谢谢
答案 0 :(得分:0)
似乎是真的,需要创建分离的类扩展一个Fragment。但是你仍然可以将viewId作为参数传递。系统需要能够在必要时重新实例化片段。我会这样做:
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class ViewFragment extends Fragment {
public static final ViewFragment newInstance(int contentId) {
Bundle args = new Bundle();
args.putInt("contentId", contentId);
ViewFragment fragment = new ViewFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
int contentId = args.getInt("contentId");
return inflater.inflate(contentId, container, false);
}
}