在Android 2.x上实现onLongClickListener,onDragListener

时间:2012-11-08 08:23:14

标签: android api onlongclicklistener

首先:我知道onDragonLongClick仅适用于API 11(Android 3.0)或更高版本。

类实现onDragListeneronLonglickListener。它仅适用于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")不能保存我的情况。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我解决了;) 从我的类中删除实现方法onDragListeneronLongClickListener。 并修改如下代码:

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);
        }
    });
}