在Eclipse上构建简单的Android相机应用程序:无法识别“预览”

时间:2013-11-16 21:27:59

标签: android xml eclipse android-layout

我正在尝试在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的任何建议。

1 个答案:

答案 0 :(得分:0)

  

PreviewActivity必须在它自己的文件中定义

这意味着,字面意思是什么。

此类应位于名为PreviewActivity.java的文件中,最好是文件中唯一的公共类。

至于“预览无法解决”,这是你的java代码的问题,而不是xml。我可以确认“预览无法解决”,或“ mPreview 无法解决”?好像是后者。您发布的代码中没有任何名为“预览”的变量。你能确认一下吗?