2016-04-11 71 views
5

黃油刀@bind我按照網站上的說明:http://jakewharton.github.io/butterknife/在片段錯誤

錯誤:了java.lang.RuntimeException:無法啓動活動ComponentInfo。 java.lang.RuntimeException:無法爲com.project.myapp.OneFragment綁定視圖。

我嘗試刪除@Bind(R.id.btnNext) Button btnNext;並運行沒有錯誤。

public class OneFragment extends Fragment { 
    @Bind(R.id.btnNext) Button btnNext; 

    private static final String ARG_PARAM1 = "param1"; 
    private static final String ARG_PARAM2 = "param2"; 

    private String mParam1; 
    private String mParam2; 

    private OnFragmentInteractionListener mListener; 

    public OneFragment() { 
     // Required empty public constructor 
    } 
    public static OneFragment newInstance(String param1, String param2) { 
     OneFragment fragment = new OneFragment(); 
     Bundle args = new Bundle(); 
     args.putString(ARG_PARAM1, param1); 
     args.putString(ARG_PARAM2, param2); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     if (getArguments() != null) { 
      mParam1 = getArguments().getString(ARG_PARAM1); 
      mParam2 = getArguments().getString(ARG_PARAM2); 
     } 
    } 

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

     return view; 
    } 
    public void onButtonPressed(Uri uri) { 
     if (mListener != null) { 
      mListener.onFragmentInteraction(uri); 
     } 
    } 
    @Override 
    public void onAttach(Context context) { 
     super.onAttach(context); 
     if (context instanceof OnFragmentInteractionListener) { 
      mListener = (OnFragmentInteractionListener) context; 
     } else { 
      throw new RuntimeException(context.toString() 
        + " must implement OnFragmentInteractionListener"); 
     } 
    } 

    @Override 
    public void onDetach() { 
     super.onDetach(); 
     mListener = null; 
    } 
    public interface OnFragmentInteractionListener { 
     void onFragmentInteraction(Uri uri); 
    } 
} 
+0

發表您的 「fragment_one」 佈局。 @Rufio Rocco –

+0

在片段中使用「getActivity()」而不是「this」! –

回答

11

替換此:

ButterKnife.bind(this, view); 

ButterKnife.bind(getActivity(), view);