2

これは、stackoverflow に関する私の最初の質問ですが、既に生成されたリソースを数か月間使用しており、本当にクールだと言わざるを得ません。それを実現させてくれた人々に感謝します!

ポップアップ ウィンドウでジェスチャ認識 (ユーザーが描画し、アプリが描画を識別する) を作成しようとしています。ユーザーがリストの要素を選択すると、ポップアップ ウィンドウが作成されます。

アプリを起動した後、リストから要素を選択するとアプリがクラッシュします。

ジェスチャー リスナーを含むポップアップ ウィンドウ:

    LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View pView = inflater.inflate(R.layout.gestures_layout_view, null, false);
    final PopupWindow pw = new PopupWindow(pView);
    pw.setFocusable(true);
    pw.showAtLocation(this.findViewById(R.id.bag_list), Gravity.CENTER, 0, 0); 
    pw.update(300,300);

    mLibrary = GestureLibraries.fromRawResource(mContext, R.raw.symbol);
    if (!mLibrary.load()) {
        finish();
    }

    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
    gestures.addOnGesturePerformedListener(new OnGesturePerformedListener()
    {
        public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {

        }

    });


    // button that allows to go back to inventory
    ImageButton buttonExit = (ImageButton) pView.findViewById(R.id.exit_button_gestures_layout);
    buttonExit.setOnClickListener(new OnClickListener()
    {

            @Override
            public void onClick(View arg0) {

                pw.dismiss();
            }
    });  

ポップアップ ウィンドウのレイアウト:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <android.gesture.GestureOverlayView
        android:background="#0000ff"
        android:id="@+id/gestures"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"/>

    <ImageButton android:id="@+id/exit_button_gestures_layout"         android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@drawable/image"
       android:layout_alignParentRight="true"
       android:layout_alignParentBottom="true"/>   

</RelativeLayout>

ログキャット

05-23 09:06:50.293: D/AndroidRuntime(473): Shutting down VM
05-23 09:06:50.293: W/dalvikvm(473): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
05-23 09:06:50.293: E/AndroidRuntime(473): Uncaught handler: thread main exiting due to uncaught exception
05-23 09:06:50.303: E/AndroidRuntime(473): java.lang.NullPointerException
05-23 09:06:50.303: E/AndroidRuntime(473):  at pl.maciej.traviddle.BagActivity.onListItemClick(BagActivity.java:318)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.app.ListActivity$2.onItemClick(ListActivity.java:312)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.widget.AdapterView.performItemClick(AdapterView.java:284)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.widget.ListView.performItemClick(ListView.java:3285)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:1640)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.os.Handler.handleCallback(Handler.java:587)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.os.Looper.loop(Looper.java:123)
05-23 09:06:50.303: E/AndroidRuntime(473):  at android.app.ActivityThread.main(ActivityThread.java:4363)
05-23 09:06:50.303: E/AndroidRuntime(473):  at java.lang.reflect.Method.invokeNative(Native Method)
05-23 09:06:50.303: E/AndroidRuntime(473):  at java.lang.reflect.Method.invoke(Method.java:521)
05-23 09:06:50.303: E/AndroidRuntime(473):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-23 09:06:50.303: E/AndroidRuntime(473):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-23 09:06:50.303: E/AndroidRuntime(473):  at dalvik.system.NativeStart.main(Native Method)
05-23 09:06:50.313: I/dalvikvm(473): threadid=7: reacting to signal 3
05-23 09:06:50.313: E/dalvikvm(473): Unable to open stack trace file '/data/anr/traces.txt': Permission denied
05-23 09:06:51.653: I/Process(473): Sending signal. PID: 473 SIG: 9

私はすでにインターネットを検索しましたが、役立つものは何も見つかりませんでした。

これまでのところ、次のことに気付きました。

-> リスナーを GestureOverlayView に割り当てるコードを削除すると、すべて正常に動作します。つまり、ポップアップが作成され、ユーザーはシンボルを描画できます。

->インライン実装の代わりに「implements」を使用してジェスチャリスナーを実装すると(http://developer.android.com/resources/articles/gestures.htmlのように)同じエラーが発生します

アプリがクラッシュする理由と修復方法を教えてください。

4

0 に答える 0