Android 使用位图设置ImageView时出现空指针异常

Android 使用位图设置ImageView时出现空指针异常,android,surfaceview,Android,Surfaceview,这是我的类中的onCreate(…)方法: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutPar

这是我的类中的onCreate(…)方法:

    protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.editor);
            setRequestedOrientation(1);

            v = new SView(this);
            v.setOnTouchListener(this);
            //v.setZOrderOnTop(true);
            //v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
            setContentView(v);

            ImageView back = (ImageView) findViewById(R.id.IVEditor);
            bm = loadPhoto("photo", bm);
            if(bm != null)
            {
                    //This Section is giving me the error

                back.setImageBitmap(bm);

            }
        }
这是错误,当我双击它时,它会将我带到上面的单独部分。但我不知道为什么:

11-09 07:42:42.624: E/AndroidRuntime(32472): Caused by: java.lang.NullPointerException
11-09 07:42:42.624: E/AndroidRuntime(32472):    at com.synlight_development.tattoo_it.Editor.onCreate(Editor.java:64)
11-09 07:42:42.624: E/AndroidRuntime(32472):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
11-09 07:42:42.624: E/AndroidRuntime(32472):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1785)
11-09 07:42:42.624: E/AndroidRuntime(32472):    ... 11 more
R.id.IVEditor
必须在使用
setContentView
设置的布局中声明

可能
R.id.IVEditor
R.layout.editor
中声明。Switching

 ImageView back = (ImageView) findViewById(R.id.IVEditor);
 bm = loadPhoto("photo", bm);
 if(bm != null) {
     back.setImageBitmap(bm);
 }


应该会成功。但这一切都取决于
R.id.IVEditor
的声明位置

您可以将编辑器布局文件内容粘贴到这里吗。由于editor.xml布局文件的元素必须是ImageView,其id定义为
android:id=“@+id/IVEditor”

然后,只有您才能获得准确的ImageView对象。

据我所知,您似乎正在用
SView
的新实例替换
R.id.editor
布局。我已经有一段时间没有接触Android了,所以不知道
SView
做了什么。但是,我首先会想,它将用一个自定义视图/布局/whater替换以前的
setContentView(R.id.Editor)
,该视图/布局/whater不包含id为
R.layout.IVEditor的布局元素


所以,是的,你试图在当前布局中不存在的内容中添加图像。(
setContentView(v)
正在删除
R.id.editor
布局,并放入不包含
R.layout.IVEditor
的Sview(),我已经完成了这项工作,这很好。我现在遇到的问题是,我的布局中有一个水平滚动视图,现在有办法在屏幕上显示吗?
 ImageView back = (ImageView) findViewById(R.id.IVEditor);
 bm = loadPhoto("photo", bm);
 if(bm != null) {
     back.setImageBitmap(bm);
 }
  v = new SView(this);
  v.setOnTouchListener(this);
  //v.setZOrderOnTop(true);
 //v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
  setContentView(v);