0

と の 2 つのアプリを作成avexvfました。から、次のように内部aveでクラスを開くインテントを呼び出しました。Thumbsxvf

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.floritfoto.apps.xvf", "com.floritfoto.apps.xvf.Thumbs");
intent.putExtra("files", imgfiles);
startActivity(intent);

2つのアプリをインストールすると、これは魔法のように機能し、世界は幸せでした.

xvf両方のアプリをインストールする必要がないように、ライブラリを作成しました。私は今Thumbsこのように呼んでいます:

Intent intent = new Intent(getBaseContext(), com.floritfoto.apps.xvf.Thumbs.class);
intent.putExtra("files", imgfiles);
startActivity(intent);

NullPointerExceptionまあ、これは機能していませんThumbs

gridview.setNumColumns(3);

gridview は、そのレイアウトからのonCreate()メソッドで作成される GridView です。Thumbs

私の第六感は、この問題が文脈に関連したものであることを教えてくれます。getBaseContext()インテントを呼び出すときでしょうか?そこに何を置けばいいですか?(すみません、この初心者はこのcontextことをあまり理解していません...)

クラッシュログを含めています:

12-22 13:54:20.890: W/dalvikvm(29093): threadid=1: thread exiting with uncaught exception (group=0x40c531f8)
12-22 13:54:20.895: E/AndroidRuntime(29093): FATAL EXCEPTION: main
12-22 13:54:20.895: E/AndroidRuntime(29093): java.lang.RuntimeException: Unable to start activity ComponentInfo    {com.floritfoto.apps.ave/com.floritfoto.apps.xvf.Thumbs}: java.lang.NullPointerException
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.ActivityThread.access$600(ActivityThread.java:127)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.os.Looper.loop(Looper.java:137)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.ActivityThread.main(ActivityThread.java:4507)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at java.lang.reflect.Method.invokeNative(Native Method)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at java.lang.reflect.Method.invoke(Method.java:511)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at dalvik.system.NativeStart.main(Native Method)
12-22 13:54:20.895: E/AndroidRuntime(29093): Caused by: java.lang.NullPointerException
12-22 13:54:20.895: E/AndroidRuntime(29093):    at com.floritfoto.apps.xvf.Thumbs.numcols(Thumbs.java:70)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at com.floritfoto.apps.xvf.Thumbs.onCreate(Thumbs.java:110)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.Activity.performCreate(Activity.java:4465)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052)
12-22 13:54:20.895: E/AndroidRuntime(29093):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1932)
12-22 13:54:20.895: E/AndroidRuntime(29093):    ... 11 more
4

1 に答える 1

1

わかりました、これはクレイジーに聞こえますが、うまくいきました。まず、関数を削除し、numcols()そのコードをonCreate()メソッドのgridview初期化された場所に移動しました。プロジェクトCleanを実行しましたが、今では問題なく動作します。

編集

ライブラリの .apk を生成するときに数回発生しましたが、すべて上記の方法で修正されました。

于 2012-12-23T03:59:24.157 に答える