setResult不在实现onClickListener的java类中工作

时间:2016-03-02 11:48:07

标签: java android onclicklistener implements

在我的项目中,我有一些按钮,带有自己的View.OnClickListener。 我想要的是将所有这些onClickListener“外化”到实现接口的java calss中,并在这里处理所有点击事件。

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

其中一个按钮在课程中启动setResult(RESULT_OK, startChatIntent)finish(), but this方法,标记为:Cannot be resolved as method.

这是课程:(我拿出其他按钮功能,工作正常,以使其更清晰)

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()

1 个答案:

答案 0 :(得分:1)

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

然后致电this.myActivity.setResult(RESULT_OK, startChatIntent);。对于finish();

也是如此