【问题标题】:BindView of Butterknife on fragments @onclick NullPointErrorButterknife 在片段上的 BindView @onclick NullPointError
【发布时间】:2017-08-22 08:05:48
【问题描述】:
public class InputFragment extends Fragment {
    public ContractMVP.start start;
    void  setPresenter(ContractMVP.start start){
        this.start=start;
    }
    @BindView(R.id.Start_btn)Button btn;
    @OnClick(R.id.Start_btn) void setBtn() {
        start.start();
    }

    public static InputFragment newInstance() {
        return new InputFragment();
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState); 
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View v= inflater.inflate(R.layout.fragment_input, container, false);
        ButterKnife.bind(this,v);

        return v;
    }

当我尝试点击按钮时,我得到NullpointException。当我调试它说start=null, 但是当我使用传统的findViewByid 时,它可以正常工作

【问题讨论】:

  • 如果start 确实为空,那么您似乎忘记致电setPresenter()
  • 你在哪里使用 setPresenter
  • 在mainActivity上……其实这里涉及到两个片段@Dory

标签: java android android-fragments butterknife


【解决方案1】:

你是否添加了两个依赖项

编译'com.jakewharton:butterknife:8.8.1' annotationProcessor'com.jakewharton:butterknife-compiler:8.8.1'

同时检查 XML 视图 IdR.id.(yourId)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多