首先:我知道onDrag
和onLongClick
仅适用于API 11(Android 3.0)或更高版本。
类实现onDragListener
和onLonglickListener
。它仅适用于API 11及更高版本。
当我想在setonLongclickListener
上设置view
时,我会使用以下代码:
.....
protected static final int sdk = android.os.Build.VERSION.SDK_INT;
......
......
if(sdk >= 11){
for (int i = 0; i < LlayoutFront.getChildCount(); i++){
LlayoutFront.getChildAt(i).setOnDragListener(this);
}
LlayoutDeleteArea.setOnDragListener(this);
LlayoutSetupArea.setOnDragListener(this);
findViewById(R.id.RelativeLMain).setOnDragListener(this);
}
但是当我尝试在android 2.1
上运行时,应用程序崩溃了。
@SuppressLint("NewApi")
不能保存我的情况。
有什么想法吗?
答案 0 :(得分:0)
我解决了;)
从我的类中删除实现方法onDragListener
和onLongClickListener
。
并修改如下代码:
if(sdk >= 11){
for (int i = 0; i < LlayoutFront.getChildCount(); i++){
LlayoutFront.getChildAt(i).setOnDragListener(new OnDragListener() {
public boolean onDrag(View v, DragEvent event) {
return myOnDrag(v, event);
}
});
}
LlayoutDeleteArea.setOnDragListener(new OnDragListener() {
public boolean onDrag(View v, DragEvent event) {
return myOnDrag(v, event);
}
});
LlayoutSetupArea.setOnDragListener(new OnDragListener() {
public boolean onDrag(View v, DragEvent event) {
return myOnDrag(v, event);
}
});
findViewById(R.id.RelativeLMain).setOnDragListener(new OnDragListener() {
public boolean onDrag(View v, DragEvent event) {
return myOnDrag(v, event);
}
});
}