猿问

ImageView 不显示位图

我正在尝试使用 Bitmap 和 Bitmap 显示 ImageView 从 sharedpref 路径中获取它的值


 /// Activity Fields


   ٍString mWinPhotoPath, mLosePhotoPath;

    ImageView winnerImage, loserImage;

    Bitmap winImage, loseImage;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_winner);

//// Get shared pref values

        mWinPhotoPath = **sharedPreferences.getString(getString(R.string.sharedPreferences_winner_pic), getString(R.string.error_sorry_message));  // win pic

        mLosePhotoPath = sharedPreferences.getString(getString(R.string.sharedPreferences_loser_pic), getString(R.string.error_sorry_message)); // lose pic**



 **winImage = BitmapFactory.decodeFile(mWinPhotoPath);

loseImage = BitmapFactory.decodeFile(mLosePhotoPath);**



// Activity Objects


        **winnerImage = findViewById(R.id.winner_image);**

        **loserImage = findViewById(R.id.loser_image);**


// set values



          **winnerImage.setImageBitmap(winImage);**

          **loserImage.setImageBitmap(loseImage);**

我的日志中没有任何错误,但问题是 ImageView 没有显示 Bitmap 我还检查了共享首选项是否正确获取了路径值


我的代码中是否有任何逻辑错误!?有什么问题 ?


犯罪嫌疑人X
浏览 144回答 2
2回答

largeQ

如果您将文件路径存储在 SharedPrefence 中,那么您可以使用其路径将文件解码为位图。        File f = new File(file path....);        Bitmap map = BitmapFactory.decodeFile(f.getAbsolutePath());        image.setImageBitmap(map);或者            String fileName = "...."; // file path            File completeFile = new File(fileName);            FileInputStream readPicture = new FileInputStream(completeFile);            BufferedInputStream bf = new BufferedInputStream(readPicture);            Bitmap bitmap = BitmapFactory.decodeStream(bf);

蓝山帝景

要从路径中获取位图,您需要使用下面的代码File image = new File(mWinPhotoPath, imageName);BitmapFactory.Options bmOptions = new BitmapFactory.Options();Bitmap bitmap = BitmapFactory.decodeFile(image.getAbsolutePath(),bmOptions);winImage = Bitmap.createScaledBitmap(bitmap,parent.getWidth(),parent.getHeight(),true);
随时随地看视频慕课网APP

相关分类

Java
我要回答