Butter Knife @bind in Fragment尝试调用虚方法

时间:2016-04-11 16:16:29

标签: android android-fragments butterknife

问题解决后。 (This Question

我发现了一个尝试调用虚方法的新问题。

错误:java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

但是如果ImageButton btnNext = (ImageButton) view.findViewById(R.id.btnNext);它有效。

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

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

        btnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });

        return view;
    }
}

1 个答案:

答案 0 :(得分:0)

你应该绑定片段而不是活动。

ButterKnife.bind(this, view);