java - setResult 无法在实现 onClickListener 的 java 类中工作

标签 java android onclicklistener implements

在我的项目中,我有一些按钮,它们有自己的 View.OnClickListener。 我想要的是将所有这些 onClickListener “外部化”到实现该接口(interface)的 java 类中,并在此处处理所有单击事件。

但是我发现了一个问题,我不知道如何解决它。

其中一个按钮启动 setResult(RESULT_OK, startChatIntent)finish(),但该类内的方法被标记为:不能解析为方法。

这是这个类:(我去掉了其他按钮功能,可以正常工作,以使其更清晰)

public class startCircuitListener implements View.OnClickListener {

    private int mChatType;
    private String mGroupName;
    private String mNickName;
    private String mMessage;
    private ArrayList<String> mGroupEmails;
    private Context context;

    public startCircuitListener(int mChatType, String mGroupName, String mNickName, String mMessage, ArrayList<String> mGroupEmails, Context context) {
        this.mChatType = mChatType;
        this.mGroupName = mGroupName;
        this.mNickName = mNickName;
        this.mMessage = mMessage;
        this.mGroupEmails = mGroupEmails;
        this.context = context;
    }

    @Override
    public void onClick(View v) {


        Intent startChatIntent = new Intent();
        startChatIntent.putExtra("chatRoom", mGroupName);
        startChatIntent.putExtra("chatServer", HelperVariables.CONFERENCE_SERVER_NAME);
        startChatIntent.putExtra("nickname", mNickName);
        startChatIntent.putExtra("Individual_Group", 0);
        startChatIntent.putExtra("MessageToSend", mMessage);
        startChatIntent.putExtra("Invitations", mGroupEmails);
        setResult(RESULT_OK, startChatIntent);
        finish();

    }

}

如何使 setResultfinish() 工作?

最佳答案

您必须使用当前 Activity 实例创建监听器实例,并将其存储为 startCircuitListener 的成员。

然后调用this.myActivity.setResult(RESULT_OK, startChatIntent);。 finish() 也是如此;

关于java - setResult 无法在实现 onClickListener 的 java 类中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35746355/

相关文章:

java - 尝试从 Spring 获取图像

java - 是否可以将数组作为枚举中的属性?有编译时错误

java - FragmentManager.beginTransaction() 不能应用于 (int, android.app.fragment)

android - 带有触摸监听器和 onclick 监听器的按钮处于突出显示状态

android - EditText OnFocusChangeListener() 不隐藏光标和 View

java - 在循环期间在值之间优雅地插入空格而无需尾随空格

java - Jmeter,如何增加堆大小

java - 将 unicode 字符串发送到服务器套接字

android - ListView 将项目添加到底部(android)

java - OnClickListener 方法的 Android View 参数