我需要Android中的Views的getOnClickListener().这样我就可以为我的视图分配一个临时的OnClickListener.我想这样使用它:
private View.OnClickListener oldListener;
public void assignTempListener(View view) {
oldListener = view.getOnClickListener(); // doesn't exist
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// some code
v.setOnClickListener(oldListener);
}
});
}
Run Code Online (Sandbox Code Playgroud)
问题是这个功能不存在.我也无法从View继承创建此方法,因为所有类型的视图都可以传递给assignTempListener.还有其他方法可以使用它吗?
编辑:在我的代码中犯了一个小错误.
有没有办法在IntelliJ中编辑rtpdesign-files(由BIRT库使用)?目前,我必须在IntelliJ和Eclipse之间切换才能进行编辑.
我想打开一个Toast,但它似乎不能在一个侦听器(Smack)中工作,就像这个例子:
private ChatManagerListener chatManagerListener = new ChatManagerListener() {
public void chatCreated(Chat newChat, boolean createdLocally) {
if(!createdLocally) {
Toast.makeText(mCtx, "CHAT CREATED", Toast.LENGTH_SHORT).show();
// do some stuff
}
}
};
Run Code Online (Sandbox Code Playgroud)
如果我在类中的其他地方使用Toast-code,它就可以工作,只要它不是一个监听器.