尝试在 Android studio 3.2 应用程序中查看位图图像后崩溃

After trying view Bitmap image in Android studio 3.2 app crashes

我正在尝试开发 android 应用 android studio 3.2。当应用程序崩溃时 imageView.setImageBitmap(bitmap); 停止了应用程序。这是我在 drawable

中获取图像的代码
       public class MainActivity extends AppCompatActivity {
        Button button;
        ImageView imageView;
        TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.imageView=(ImageView)findViewById(R.id.image_view);
        textView=(TextView)findViewById(R.id.text_view);
        button=(Button)findViewById(R.id.button_click);

        try {
            this.imageView.setImageResource(R.drawable.helloworld);

        }catch (Exception e){
            Log.d("error_msg", ""+e);
            System.out.println(">>>>>>>>>>>>>>>>>"+e);

        }
//
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

我也用过这个

implementation 'com.google.android.gms:play-services-vision:16.2.0'

如何解决这个问题?

D/error_msg: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference

这是我在 Catch the error 时得到的错误

您可以使用setImageResource

将图片资源设置为ImageView
imageView.setImageResource(R.drawable.helloworld);

如果您特别想添加位图,请尝试调试并检查导致崩溃的错误。

将调用 super.onCreate()setContentView() 移到 OnCreate() 方法的顶部。像这样:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    this.imageView=(ImageView)findViewById(R.id.image_view);
    textView=(TextView)findViewById(R.id.text_view);
    button=(Button)findViewById(R.id.button_click);

    try {
        this.imageView.setImageResource(R.drawable.helloworld);

    } catch (Exception e){
        Log.d("error_msg", ""+e);
        System.out.println(">>>>>>>>>>>>>>>>>"+e);
    }
}

必须在调用前设置布局 findViewById()