小编Zac*_*ary的帖子

getResources().getDisplayMetrics().density的NullPointerException

上下文

我正在研究一个小的测试代码.它选择一个图像,根据屏幕密度调整其大小以适应屏幕.当它这样做时,它会以图像的大小xxhdpi显示图像的副本,然后转换为位图,然后转换为字符串.然后将String通过Intent传递到下一个屏幕,在该屏幕中String被转回Bitmap,然后放入ImageButton.

这很好用,直到我添加了一大块代码来调整基于密度的字符串给出的图像大小.奇怪的是我从另一个活动中复制并粘贴了DPI()方法,并且该活动没有任何问题.

package com.example.zachary.imagetesting.Resizing;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Base64;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;

import com.example.zachary.imagetesting.R;

public class PictureDecoded extends Activity {

    TextView Text;
    ImageButton Image;
    String string;
    Bitmap picture;
    public float DPI(){return getResources().getDisplayMetrics().density;}
    float dpi = DPI() * 180;
    int size = (int) dpi;


    public Bitmap Pic(String string){
        try{
            byte[] b = Base64.decode(string, Base64.DEFAULT);
            Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);
            return bitmap;
        } catch (Exception e) { …
Run Code Online (Sandbox Code Playgroud)

java android bitmap nullpointerexception android-studio

0
推荐指数
1
解决办法
1205
查看次数