我正在我的应用程序中创建一个视图寻呼机,并使用一个扩展Fragment的类.当我创建一个实例时,我可以传递所有元素(图像,文本等)并将其与Bundle一起存储,以便在onCreate中使用它.但我无法在片段中存储按钮的监听器.这是我的班级: 
  
  
 
public class RegWizardFragmentInfo extends Fragment {
private static final String IMAGE = "image";
private static final String TEXT = "text";
private static final String BUTTON = "buttonText";
private View.OnClickListener buttonCallBack;
private Button button;
private int image;
private int text;
private int buttonText;
public RegWizardFragmentInfo newInstance(int image,int text,int buttonText,View.OnClickListener callback) {
    RegWizardFragmentInfo fragment = new RegWizardFragmentInfo();
    Bundle bundle = new Bundle();
    bundle.putInt(IMAGE,image);
    bundle.putInt(BUTTON,buttonText);
    bundle.putInt(TEXT,text);
    fragment.setArguments(bundle);
    fragment.setRetainInstance(true);
    return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.onActivityCreated(savedInstanceState);
    this.image = getArguments().getInt(IMAGE);
    this.text = (getArguments() != null) ? getArguments().getInt(TEXT)
            : -1;
    this.buttonText = (getArguments() != null) ? getArguments().getInt(BUTTON)
            : -1;
}
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
    ViewGroup rootView = (ViewGroup) inflater.inflate(
            R.layout.fragment,container,false);
    //Extract all the views and add the image and texts
    return rootView;
} 
 那么,我如何将我在newInstance中获得的监听器存储到onCreateView方法的按钮上呢?
谢谢您的帮助.
解决方法
 您可以在片段中使用回调: 
  
  
 
        public class RegWizardFragmentInfo extends Fragment {
    private Button button;
    private OnClickCallback callback;
    public interface OnClickCallback {
        void onClick();
    }
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        callback = (OnClickCallback) context;
    }
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
        return super.onCreateView(inflater,savedInstanceState);
        button.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                callback.onClick();
            }
        });
    }
} 
 并在您的父Activity中实现此新接口