1

我读了 Hello Android 书。该程序将播放我在原始文件夹中复制的声音,但该程序未运行并出现错误。

错误:

activity_main 无法解析或不是字段

temp 无法解析或不是字段

音频.java

package org.example.audio;
import android.app.Activity;
import android.media.MediaPlayer;
import android.view.KeyEvent;
import android.os.Bundle;

public class Audio extends Activity{
    private MediaPlayer up;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
        up=MediaPlayer.create(this,R.raw.Guilty);
    }

    @Override
    public boolean onKeyDown(int keyCode,KeyEvent event){
  MediaPlayer mp;
      switch(keyCode){
  case KeyEvent.KEYCODE_DPAD_UP:
      mp=up;
      break;
  default:
      return super.onKeyDown(keyCode, event);
}
mp.seekTo(0);
mp.start();
return true;
    }
}

请帮助我修复错误。干杯。

4

4 回答 4

4

删除线

import android.R; 

并为适当的包导入 R

在这一行

setContentView(R.layout.activity_main);

删除整行并键入直到 setContentView(R 并给出 ctrl+space 。您将要求导入几个包,其中需要导入包含您的项目名称的包(而不是 android.R)

否则删除行 import android.R; 并简单地清理项目并构建它

于 2012-09-22T15:39:48.140 回答
1

首先删除该行:

import android.R;

然后,如果您使用的是 Eclipse,请尝试清理您的项目:

项目->清理...

如果您的资源文件之一出现错误,Eclipse 会android.R在您按下Ctrl++时自动Shift导入该文件O,这令人沮丧。仔细检查包资源管理器”窗口中文件夹上的错误图标,res并修复在那里可能发现的任何错误。


R文件是任何 Java / Android 项目的一个组成部分。它是编译器存储资源引用的地方,例如activity_main布局和temp声音文件。通过导入外部R文件,您在尝试使用R引用 ( R.layout.activity_main) 的任何地方都会收到错误消息,因为您正试图在另一个项目中查找它们。

于 2012-09-22T15:39:11.983 回答
1

这是因为系统无法解析您的 R.java 文件。你使用 android.R 并调用你的资源。所以删除 android.R 然后清理并构建项目

于 2012-09-22T15:43:21.527 回答
0

感谢您的回答。我删除了 import android.R 并在 res/raw 中复制了另一首歌曲。(我编辑了我的第一篇文章)但程序有两个错误。

有罪无法解决或不是一个领域

当我用临时音乐删除 android.R 时,程序运行但没有声音。我用另一种声音改变声音并且程序没有运行:((为什么?

资源/布局/activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

   <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />
</RelativeLayout>
于 2012-09-22T16:27:38.210 回答