私は、外部ストレージスペースを通してイメージを読み取る方法を持っていました。これらの画像をImageView ArrayListに保存したいと思います。これを行うには、検索したいフォルダを定義して、ImageViewに修復したい画像が割り当てられているビットマップ変数を作成しましたが、.setImageBitmap(saveImage)
はImageviewオブジェクトに割り当てません。.setImageBitmap()がイメージをImageViewオブジェクトに割り当てないのはなぜですか?
private ArrayList<ImageView> getData() {
ImageView singleImage = null;
final ArrayList<ImageView> addImage = new ArrayList<>();
File retrieveImages = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "/WordResolver");
for(File countImages : retrieveImages.listFiles()) {
if(countImages.isFile() && (countImages.getName().endsWith(".jpg"))) {
Bitmap saveImage = BitmapFactory.decodeFile(countImages.getAbsolutePath());
singleImage.setImageBitmap(saveImage); //Fails here
addImage.add(singleImage);
}
}
return addImage;
}
ここで画像を読み取ると、ビットマップオブジェクトに格納されていることを証明だ:
は、ここでは、コードです。
そして、ここでImageViewのイメージを割り当てる必要があるにもかかわらず、NPEエラーを投げているスタックトレースです。
5月20日03:13:38.220 8641から8641/com.example.aaron.wordresolver E/AndroidRuntime:致命的な例外:メイン プロセス:com.example.aaron.wordresolver、PID:8641 ジャワ。 lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.example.aaron.wordresolver/com.example.aaron.wordresolver.PictureGallery}:java.lang.NullPointerException:仮想メソッド 'voidを呼び出しようとしましたvoid android.widget.ImageView.setImageBitmap android.graphics.Bitmap) 'とヌルオブジェクトリファレンスの とandroid.app.ActivityThread.andLaunchActivity(ActivityThread.java:2)の 476)android.os.Handler.dispatchMessageでandroid.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) でandroid.app.ActivityThread.-wrap11(ActivityThread.java) で (Handler.java:102 )android.os.Looper.loop(Looper.java:148)の とandroid.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:java.lang.NullPointe rException:ヌルオブジェクトリファレンスで仮想メソッド 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)'を呼び出そうとしました at com.example.aaron.wordresolver.PictureGallery.getData(PictureGallery.java:78) com.example.aaron.wordresolver.PictureGallery.onCreate(PictureGallery.java:45) (android.app.Activity.performCreate(Activity.java:6237)) (android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107))にあります。 android.app.ActivityThreaでandroid.app.ActivityThread.performLaunchActivity android.app.ActivityThread.handleLaunchActivityで(ActivityThread.java:2369) (ActivityThread.java:2476) で) d.-wrap11(ActivityThread.java) android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) (android.os.Handler.dispatchMessage(Handler.java:102)) (android.os.Looper)にあります。 .loop(Looper.java:148) android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os。ZygoteInit $ MethodAndArgsCaller.run com.android.internal.os.ZygoteInit.mainで(ZygoteInit.java:726) (ZygoteInit.java:616)
"singleImage"にimageviewを割り当てていないのは、なぜnullであるかです。 –
'singleImage.setImageBitmap(saveImage);' ImageViewに_bitmap_を割り当てていないので、値を与えていますか? – COYG
@COYG:このようにする singleImage =(ImageView)view.findViewById(R.id.your_imageview); –