我正在尝试在Elipse上构建一个简单的相机应用程序(来自java2s.com网站)。 这是代码的第一部分: package com.example.appprev;
import java.util.List;
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class PreviewActivity extends Activity implements SurfaceHolder.Callback {
Camera mCamera;
SurfaceView mPreview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mPreview = (SurfaceView)findViewById(R.id.preview);
mPreview.getHolder().addCallback(this);
mPreview.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mCamera = Camera.open();
}
etc.etc.
and the xml main is:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<SurfaceView
android:id="@+id/preview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</RelativeLayout>
第一个mPreview行附近有一条错误消息:“预览无法解析。”
公共类行附近的错误消息(必须在其自己的文件中定义PreviewActivity)
也许主要的xml加载不正确? 我点击了NEW ADD xml文件,并在布局文件夹中添加了“main”文件。 我是android和Elipse的新手,感谢Dave的任何建议。
答案 0 :(得分:0)
PreviewActivity必须在它自己的文件中定义
这意味着,字面意思是什么。
此类应位于名为PreviewActivity.java
的文件中,最好是文件中唯一的公共类。
至于“预览无法解决”,这是你的java代码的问题,而不是xml。我可以确认“预览无法解决”,或“ mPreview 无法解决”?好像是后者。您发布的代码中没有任何名为“预览”的变量。你能确认一下吗?