1

我的主要活动类中有一个数组列表(wl)。它正在 onCreate 中填充。我已经验证它正在填充。

还有一个 geturelistner 变量。手势监听器类扩展了我的主要活动类。当我从gesturelistner 类访问arraylist(wl) 时,它总是返回空。代码如下:

类FC.JAVA

public class FC extends ActionBarActivity 
{
    ArrayList<W> wl = new ArrayList<W>();
    GestureDetectorCompat gDetector= new GestureDetectorCompat(this,new GestureListener());
    ...

    protected void onCreate(Bundle savedInstanceState) 
    {...
    wl.addAll(dbw.getalphaall("A",level));    
    Log.d("WL LEN MAIN",wl.size()+"");
    ...
    }

    View.OnTouchListener gListener = new View.OnTouchListener() 
    {
        public boolean onTouch(View v, MotionEvent event) 
        {
            if (gDetector.onTouchEvent(event)) 
                return true;   
            return false;
        }
    };
}

类手势监听器.JAVA

class GestureListener extends FC implements GestureDetector.OnDoubleTapListener, OnGestureListener
{    
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 
{   ...
    Log.d("WL LEN GL", super.wl.size()+"");
    ...
    return false;
}

当我运行我的代码时

WL LEN MAIN 返回 386

WL LEN GL 返回 0

记录猫错误:

09-29 08:57:44.694: E/InputEventReceiver(2766): Exception dispatching input event.
09-29 08:57:44.694: E/MessageQueue-JNI(2766): Exception in MessageQueue callback: handleReceiveCallback
09-29 08:57:44.764: E/MessageQueue-JNI(2766): java.lang.ArrayIndexOutOfBoundsException: length=0; index=-1
4

0 回答 0