メイン アクティビティ クラスに arraylist (wl) があります。onCreate に入力されています。密集していることを確認しました。
geturelistner 変数もあります。ジェスチャリスナー クラスは、メインのアクティビティ クラスを拡張します。ジェスチャリストナー クラスから 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;
}
};
}
クラス 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 を返します
ログ キャット エラー:
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