作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的代码的一部分:
if(user.getUserID().equals(thisLike.getUserID())) {
Log.i("On MARKER click", "Equal User ID!");
Toast.makeText(getApplicationContext(), R.string.longpress, Toast.LENGTH_SHORT).show();
markerImage.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.i("On MARKER click", "onLongClick HAPPENS!");
if(user.getUserID().equals(thisLike.getUserID())) {
Log.i("On MARKER click", "Equal User ID!");
openContextMenu(markerImage);
return true;
} else {
Log.i("On MARKER click", "Not equal User ID!!");
return false;
}
}
});
} else {
Log.i("On MARKER click", "F...off!");
return false;
}
它描述了 GoogleMap
Marker
上 onMarkerClick
中的一些行为。
我想要发生的是 ContextMenu
仅在 user.getUserID()
等于 thisLike.getUserID()
时打开
我尝试在其他两个语句中添加 markerImage.setOnLongClickListener(null);
。没用..
最佳答案
虽然这个解决方案并不完美......我已经将 if-check 添加到 onCreateContextMenu
中,如下所示:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
if(user.getUserID().equals(thisLike.getUserID())) {
menu.setHeaderTitle("Image options");
getMenuInflater().inflate(R.menu.context_menu_image, menu);
}
}
它终于尊重 if-check,但我仍然想知道为什么 onLongClick
的 if-check 没有帮助。
关于android - onLongClick 只应在条件为真时发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33463265/
我是一名优秀的程序员,十分优秀!