我的主要活动课中有一个arraylist(wl)。它正在onCreate中填充。我已经确认它已经填满了。
还有一个geturelistner变量。 gesturelistener类扩展了我的主要活动类。当我从gesturelistner类访问arraylist(wl)时,它总是返回空。 代码如下:
CLASS 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;
}
};
}
CLASS GestureListener.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
LOG CAT ERROR:
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