-2

Ich habe ein Fragment, das eine Schaltfläche hat und eine Schaltfläche Listener hinzugefügt und dies gibt keine Fehler, aber die onClick scheint nicht aufgerufen werden, wenn ich auf die Schaltfläche klicken. Ich habe versucht, die Schaltfläche Listener in der OnActivityCreated-Funktion hinzuzufügen, aber das funktioniert immer noch nicht. Danke.onClickListener auf Schaltfläche in Fragment tut nichts

package com.aaronnebbs.table_booker.Fragments; 

import android.content.Context; 
import android.os.Bundle; 
import android.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 


import com.aaronnebbs.table_booker.Objects.Session; 
import com.aaronnebbs.table_booker.R; 


public class userInformation extends Fragment { 

    private Session session; 

    public userInformation() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.fragment_user_information, container, false); 
     Button viewBookings = (Button) view.findViewById(R.id.bookingsFragmentButton); 


     viewBookings.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       System.out.println("Button Clicked"); 
      } 
     }); 

     Bundle bundle = getArguments(); 

     if(bundle != null){ 
      session = (Session)bundle.getSerializable("session"); 
      System.out.println("IN FRAGMENT: " + session.getUser().getUsername()); 
     }else{ 
      System.out.println("NO BUNDLE"); 
     } 

     return view; 
    } 

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

     // TextView text = (TextView) getView().findViewById(R.id.usernameFragment); 
     // text.setText("Username: " + session.getUser().getUsername()); 

    } 

    @Override 
    public void onAttach(Context context) { 
     super.onAttach(context); 
    } 

} 
+0

Breakpoints erstellen und debuggen .. –

+0

Es soll nur Protokolle drucken. Hast du kontrolliert? Versuchen Sie es mit einem 'Toast', nur um sicherzugehen. –

+0

Ja funktioniert immer noch nicht mit dem Toast, nur seltsam, wie alle anderen Quellcode ive gesehen, ist es genauso wie ich bin. –

Antwort

1

Stellen Sie sicher, Ihre fragment_user_informationKnopf mit bookingsFragmentButton id & Sie vergeben haben nicht onClick von xml wie android:onClick="myMethod" & Toast statt Log als sichtbare Wirkung handeln Put haben muss.

Edit 1:

extends Fragment implements View.OnClickListener { 

// onCreateView 

viewBookings.setOnClickListener(this); 

@Override public void onClick (Blick v) {

switch (v.getId()) 
    { 
     case R.id.bookingsFragmentButton: 

      break; 
    } 
    } 

} 

Hope this Sinn machen.

+0

Ja, tut es! Habe das ein paar Mal überprüft, um sicherzugehen, dass ich nicht albern bin! –

+0

Danke! Es scheint jetzt zu funktionieren! –

+0

@AaronNebbs, Froh, Ihnen zu helfen. –