我该如何修复错误?

时间:2012-09-22 15:37:46

标签: android audio

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

错误:

activity_main无法解析或不是字段

temp无法解析或不是字段

Audio.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 个答案:

答案 0 :(得分:4)

删除该行

import android.R; 

并导入R以获取适当的包

在这一行

setContentView(R.layout.activity_main);

删除整行并输入直到setContentView(R并给出一个ctrl +空格。你会要求导入几个包,你需要导入一个包含你的项目名称的包(而不是android.R)

或者删除行导入android.R;并简单地清理项目并构建它

答案 1 :(得分:1)

首先删除该行:

import android.R;

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

项目 - >的清洁...

如果您的某个资源文件中有错误,当您按 Ctrl + Shift + O <时,Eclipse会自动导入android.R文件/ kbd>,这是令人沮丧的。仔细检查 Package Explorer 窗口,查看res文件夹中的错误图标,并修正您在此处可能发现的任何错误。


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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

Guilty无法解决或不是字段

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

RES /布局/ 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>