2017-08-22 3 views
0
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; 
    } 

Je reçois NullpointException chaque fois que je tente de cliquer sur le bouton. Quand je le débugger dit start=null, mais quand je l'utilise traditionnelle findViewByid il fonctionne très bienBindView de Butterknife sur des fragments @onclick NullPointError

+0

Si 'start' est en effet nulle alors il semble que vous avez oublié d'appeler 'setPresenter()'. – laalto

+0

où vous utilisez setPresenter – Dory

+0

sur l'activité principale ... en fait il y a deux fragments impliqués ici @ Dory –

Répondre

1

Avez-vous ajouté les deux dépendances

compilation 'com.jakewharton: Butterknife: 8.8.1' annotationProcessor'com.jakewharton : Butterknife compilateur: 8.8.1'

vérifiez également vue XML Id et R.id.(yourId)

+0

Grand @pawandeep ... –