setResult 在实现 onClickListener 的 java class 中不起作用
setResult not working in a java class implementing onClickListener
在我的项目中,我有一些按钮,它们有自己的 View.OnClickListener。
我想要的是 "externalize" 所有这些 onClickListener 到一个 java 实现接口的 calss,并处理所有的点击事件,在这里。
但是我发现了一个问题,我不知道如何解决它。
其中一个按钮在 class 中启动 setResult(RESULT_OK, startChatIntent)
和 finish(), but this
方法,标记为:Cannot be resolved as method.
这是class:(我去掉了其他按钮功能,效果还行,让它更清晰)
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();
}
}
我怎样才能工作 setResult
和 finish()
?
您必须使用当前 Activity 实例创建侦听器实例,并将其存储为 startCircuitListener
的成员。
然后调用this.myActivity.setResult(RESULT_OK, startChatIntent);
。 finish();
也一样
在我的项目中,我有一些按钮,它们有自己的 View.OnClickListener。 我想要的是 "externalize" 所有这些 onClickListener 到一个 java 实现接口的 calss,并处理所有的点击事件,在这里。
但是我发现了一个问题,我不知道如何解决它。
其中一个按钮在 class 中启动 setResult(RESULT_OK, startChatIntent)
和 finish(), but this
方法,标记为:Cannot be resolved as method.
这是class:(我去掉了其他按钮功能,效果还行,让它更清晰)
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();
}
}
我怎样才能工作 setResult
和 finish()
?
您必须使用当前 Activity 实例创建侦听器实例,并将其存储为 startCircuitListener
的成员。
然后调用this.myActivity.setResult(RESULT_OK, startChatIntent);
。 finish();