这是我班上的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
答案 0 :(得分:0)
ImageView back = (ImageView) findViewById(R.id.IVEditor);
必须在使用R.id.IVEditor
设置的布局中声明 setContentView
。
可能R.id.IVEditor
在R.layout.editor
内声明。 Swiching
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);
应该成功。但所有都取决于声明R.id.IVEditor
的地方;
答案 1 :(得分:0)
可以将编辑器布局文件内容粘贴到此处。由于该editor.xml布局文件必须具有ImageView作为其元素,其id定义为android:id = "@+id/IVEditor"
。
然后,只有您将获得确切的ImageView对象。
答案 2 :(得分:0)
据我了解,您似乎正在使用R.id.editor
的新实例替换SView
布局。我有一段时间没有触及Android,所以不确定SView
是做什么的。但是,我首先会认为它用自定义视图/布局/ whater替换了以前的setContentView(R.id.Editor)
,其中不包含ID为R.layout.IVEditor
的布局元素。
所以是的,你试图将图像添加到当前布局中不存在的内容中。 (setContentView(v)
正在移除R.id.editor
布局并放入不包含R.layout.IVEditor
的Sview()。