как я могу исправить эту кнопку, из-за которой она не может перейти на страницу активности?

#java #android #android-button

#java #Android #android-кнопка

Вопрос:

 public class select_fragment extends Fragment {

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_select, null);


    }
    private void button_parking(){

        Intent myIntent = new Intent(f, parking.class);
        startActivity(myIntent);
    }
}
  

Ответ №1:

попробуйте это…

 public class select_fragment extends Fragment {

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

    Button your_button = (Button) getActivity.findViewById(R.id.your_id_button)

    your_button.setOnClickListener(new OnClickListener() {
    public void onClick(View v)
    {
       button_parking();
    } 
    });
    return inflater.inflate(R.layout.fragment_select, null);

    }

    private void button_parking(){
    Intent myIntent = new Intent(getActivity(), parking.class);
    startActivity(myIntent);
}
  

}

Ответ №2:

Вы не привязали представление к своему фрагменту, поэтому кнопка click не может работать. Вам нужно привязать представление с помощью findViewById() . Обычно вам нужно выполнить привязку, переопределив onViewCreated() что-то вроде этого:

 public class select_fragment extends Fragment {

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_select, null);
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

         // bind the view here.
         Button button = findViewById(R.id.your_button);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 //call button method here
                 button_parking();
             }
         });
    }

    private void button_parking() {
        Intent myIntent = new Intent(f, parking.class);
        startActivity(myIntent);
    }
}