我下载了android-pinch jar,以便我可以使用缩放功能。我遇到的问题是我必须做setOnLongClickListener
,因为我想为用户创建一个DragShadow,以查看他们何时拖动图标或图像,并且我想为图像指定setOnClickListener
。但是PinchImageView
由于某种原因不适用于我的单点击和长点击监听器,没有任何反应。
以下是代码(它是自定义适配器):
@Override
public View getView(int position, View view, ViewGroup viewGroup)
{
try
{
if(view == null)
view = myInflater.inflate(R.layout.tools_layout, viewGroup, false);
PinchImageView img = (PinchImageView)view.findViewById(R.id.imageView);
img.setBackgroundResource(drawId[position]);
img.setTag(icons.get(position));
img.setLongClickable(true);
img.setOnLongClickListener(longListen);
}
catch(Exception ex)
{
Log.i("customException", "getView():" + ex.getMessage());
}
return view;
}
View.OnLongClickListener longListen = new View.OnLongClickListener()
{
@Override
public boolean onLongClick(View v)
{
try
{
isListItem = true; // this never gets run...
Log.i(TAG, "long click");
ClipData data = ClipData.newPlainText("", "");
DragShadow dragShadow = new DragShadow(v);
v.startDrag(data, dragShadow, v, 0);
}
catch(Exception ex)
{
Log.i("customException", "longListen: " + ex.getMessage());
}
return false;
}
};
我甚至尝试将返回值更改为true,因为我在TouchImageView
中看到更改返回值使其工作,PinchImageView
可能不一样但值得一试。有什么建议吗?
答案 0 :(得分:1)
您可以尝试输入PinchImageView源代码并将顶部更改为:
implements OnTouchListener, View.OnLongClickListener
然后实现对代码的回调或做任何你想做的事。