Java ImageView没有';t显示位图

Java ImageView没有';t显示位图,java,android,bitmap,android-imageview,Java,Android,Bitmap,Android Imageview,我正在尝试使用位图显示ImageView,并从sharedpref路径获取位图的值 /// Activity Fields ٍString mWinPhotoPath, mLosePhotoPath; ImageView winnerImage, loserImage; Bitmap winImage, loseImage; @Override protected void onCreate(Bundle savedInstanceState) {

我正在尝试使用位图显示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没有显示位图 我还检查了共享pref是否正确获取路径值

我的代码中有逻辑错误吗!!?
有什么问题吗?

要从路径获取位图,需要使用下面的代码

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);

若要将文件路径存储在SharedReference中,则可以使用其路径将文件解码为位图

        File f = new File(file path....);
        Bitmap map = BitmapFactory.decodeFile(f.getAbsolutePath());
        image.setImageBitmap(map);


与我所做的相同的问题File f=新文件(mWinPhotoPath);winImage=BitmapFactory.decodeFile(f.getAbsolutePath());设置图像位图(winImage);为什么我要写你的代码!!这是我已经有了路径,无论我以何种方式尝试了你的代码,但它有更多的错误(imageName parent)你能建议另一个吗?看看这个问题的答案。您必须从路径获取文件。使用毕加索或Glide设置图像
            String fileName = "...."; // file path
            File completeFile = new File(fileName);
            FileInputStream readPicture = new FileInputStream(completeFile);
            BufferedInputStream bf = new BufferedInputStream(readPicture);
            Bitmap bitmap = BitmapFactory.decodeStream(bf);