如何在片段中添加按钮 toast 消息 "onClick"

How to add buttons toast message "onClick" in fragment

我想在用户单击按钮时显示 Toast 消息。

我尝试了很多解决方案,但都不适合我。

这是代码

Java "AccountFragment"

public class AccountFragment extends Fragment {

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_account, container, false);

    // return the view "Layout"
    return rootView;
}

// display message for the user
public void Tosta (View view) {
    Toast.makeText(getActivity() , "There is no need to Login because you are a tester :D" , Toast.LENGTH_LONG).show();
}}

XML "fragment_account" 我使用了 onClick

<Button
    android:id="@+id/button_login_google"
    android:layout_width="261dp"
    android:layout_height="50dp"
    android:layout_marginTop="50dp"
    android:background="@drawable/account_view2"
    android:text="Login with Google"
    android:onClick="Tosta"
    android:textColor="#fff"
    android:textSize="18dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView_login" />

看看这个:

     public class AccountFragment extends Fragment {

        Button btn;

        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_account, container, false);

           btn = (Button) rootView.findViewById(R.id.button_login_google);
        btn.setOnClickListener(this);
            return rootView;
        }

        // display message for the user
        @Override
        public void onClick(View v) {
            // Toast here
    Toast.makeText(getActivity(),  "toast", Toast.LENGTH_LONG).show();
        }
}

你也可以试试这个:

btn.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View arg0) {

                    Toast.makeText(getActivity(),  "toast", Toast.LENGTH_LONG).show();

                    }
                });