从片段中的 Activity 调用方法

Calling method from Activity in fragment

我有一个 Activity (1) 有两个片段。这个 Activity 使用我在我的应用程序中常用的基本方法扩展到另一个 (2)。所以我想在单击位于 (1) 的片段之一中的一个按钮后调用 (2) 的方法,执行此操作的最佳方法是什么?

我正在尝试这样做:

login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(isValid()){
                    AndroidUtils.hideKeyboard(email, getActivity());
                    AuthenticationActivity.login(email.getText().toString(), password.getText().toString());
                }
            }
        });

但是它说不能从静态上下文中引用非静态方法。所以我试着这样做:

login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(isValid()){
                    AndroidUtils.hideKeyboard(email, getActivity());
                    AuthenticationActivity instance = new AuthenticationActivity();
                    instance.login(email.getText().toString(), password.getText().toString());
                }
            }
        });

但它不起作用。

试试这个

((AuthenticationActivity)getActivity()).login(email.getText().toString(), password.getText().toString());

并使您的登录功能非静态