1

メイン アクティビティ クラスに 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
4

0 に答える 0