-2

У меня есть фрагмент, в котором есть кнопка, и добавлен прослушиватель кнопок, и это не дает никаких ошибок, но onClick, похоже, не вызывается, когда я нажимаю кнопку. Я попытался добавить слушателя кнопок в функцию onActivityCreated, но это все еще не работает. Спасибо.onClickListener на кнопке во фрагменте ничего не делает

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

Создать контрольные точки и отладить его. –

+0

Предполагается напечатать только журналы. Вы проверили? Попытайтесь вставить «Toast», чтобы убедиться. –

+0

Да, до сих пор не работает с тостом, просто странно, как и все другие исходные коды, которые я видел, делает это так же, как и я. –

ответ

1

Убедитесь, что ваш fragment_user_information должен иметь кнопку с bookingsFragmentButton ид & Вы не присвоенного OnClick по XML как android:onClick="myMethod" & Поместите тост вместо Вход действовать как видимый эффект.

Edit 1:

extends Fragment implements View.OnClickListener { 

// onCreateView 

viewBookings.setOnClickListener(this); 

@Override общественного недействительный OnClick (View v) {

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

      break; 
    } 
    } 

} 

Надеется, что это будет иметь смысл.

+0

Да, это так! Проверял, что несколько раз, чтобы убедиться, что я не был глупым! –

+0

Спасибо! Кажется, сейчас работает! –

+0

@AaronNebbs, рад помочь вам. –

Смежные вопросы