不能使用findViewById id无法解析

时间:2015-12-21 12:19:06

标签: java android r.java-file

我无法在我的项目中弄明白。 我已经保存了.xml,但findViewById无法找到我的ID。所有其他findViewById都没问题,但错误发生在Apple上。我试图重命名id,但它没有用。这是我的代码

package com.flaternity.fasterbrain;

import android.annotation.SuppressLint;
import com.flaternity.fasterbrain.*;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
public class Game extends ActionBarActivity {
    TextView Timer, TEST, Score, GAMEOVER, yourScore, TimerText, TIMEUP;
    Button Left, Right, BACKBTN;
    ImageView Apple;
    int RanSoal, whichTrue = 0, EngSoal;
    static int score=0;
    static int curGame;//0=Math 1=English

    String[] EngTest={
            "I __ sick",//0
            "I __ Happy yerterday",
            "Books __ available in BookStore",
            "He __ Games yesterday",
            "Minions __ Bananas",
            "She __ Books",
            "How __ water do you have?",//6
            "your __ is Nice",
            "__ love Game",
            "I am __ than you",
    };
    String[] Mathtest ={
            "2x2=__",//1 [0]
            "4:__=4",
            "4+5=__",
            "5X5=__",
            "5X__=45",//5 [4]
            "35-5=__",
            "5:5=__",
            "2-5=__",
            "2X(-5)=__",
            "2+__=1",//10[9]
            "5-5=__",
            "2+1=__",
            "4:__=8",
            "4:2=__",
            "3-2=__",//15[14]
            "9X4=__",
            "10:__=80",
            "9X__=36",
            "8X4=__",
            "3X3=__"//20[19]
    };
    CountDownTimer timer = new CountDownTimer(3000,1000){

        @Override
        public void onTick(long millisUntilFinished) {
            Timer.setText(""+millisUntilFinished / 1000);
        }

        @Override
        public void onFinish() {
            TimeUP();
            Timer.setText("0");
        }

    };
    private void MakeSoalMath(){
        RanSoal = (int)(Math.random()*19);
        TEST.setText(""+Mathtest[RanSoal]);
        switch(RanSoal){
            case 0:
                Left.setText("4");//True
                Right.setText("8");
                whichTrue = 0;
                break;
            case 1:
                Left.setText("1");//True
                Right.setText("4");
                whichTrue = 0;
                break;
            case 2:
                Left.setText("9");//True
                Right.setText("20");
                whichTrue = 0;
                break;
            case 3:
                Left.setText("25");//True
                Right.setText("10");
                whichTrue = 0;
                break;
            case 4:
                Left.setText("9");//True
                Right.setText("5");
                whichTrue = 0;
                break;
            case 5:
                Left.setText("30");//True
                Right.setText("7");
                whichTrue = 0;
                break;
            case 6:
                Left.setText("1");//True
                Right.setText("25");
                whichTrue = 0;
                break;
            case 7:
                Left.setText("-3");//True
                Right.setText("3");
                whichTrue = 0;
                break;
            case 8:
                Left.setText("-10");//True
                Right.setText("10");
                whichTrue = 0;
                break;
            case 9:
                Left.setText("-1");//True
                Right.setText("1");
                whichTrue = 0;
                break;
            case 10:
                Left.setText("10");
                Right.setText("0");//True
                whichTrue = 1;
                break;
            case 11:
                Left.setText("-3");
                Right.setText("3");//True
                whichTrue = 1;
                break;
            case 12:
                Left.setText("2");
                Right.setText("1/2");//True
                whichTrue = 1;
                break;
            case 13:
                Left.setText("8");
                Right.setText("2");//True
                whichTrue = 1;
                break;
            case 14:
                Left.setText("3");
                Right.setText("1");//True
                whichTrue = 1;
                break;
            case 15:
                Left.setText("5");
                Right.setText("36");//True
                whichTrue = 1;
                break;
            case 16:
                Left.setText("8");
                Right.setText("1/8");//True
                whichTrue = 1;
                break;
            case 17:
                Left.setText("27");
                Right.setText("4");//True
                whichTrue = 1;
                break;
            case 18:
                Left.setText("12");
                Right.setText("32");//True
                whichTrue = 1;
                break;
            case 19:
                Left.setText("6");
                Right.setText("9");//True
                whichTrue = 1;
                break;
        }
    }
    private void Benar(){
        if(curGame == 0){
            MakeSoalMath();
        }
        score++;
        Score.setText(""+score);
        timer.cancel();
        timer.start();
    }
    private void Salah(){
        BACKBTN.setVisibility(View.VISIBLE);
        yourScore.setVisibility(View.VISIBLE);
        GAMEOVER.setVisibility(View.VISIBLE);
        Timer.setVisibility(View.INVISIBLE);
        TEST.setVisibility(View.INVISIBLE);
        Score.setVisibility(View.INVISIBLE);
        Left.setVisibility(View.INVISIBLE);
        Right.setVisibility(View.INVISIBLE);
        TimerText.setVisibility(View.INVISIBLE);
        yourScore.setText("your score:" + score);
        timer.cancel();
    }
    private void TimeUP(){
        BACKBTN.setVisibility(View.VISIBLE);
        yourScore.setVisibility(View.VISIBLE);
        TIMEUP.setVisibility(View.VISIBLE);
        Timer.setVisibility(View.INVISIBLE);
        TEST.setVisibility(View.INVISIBLE);
        Score.setVisibility(View.INVISIBLE);
        Left.setVisibility(View.INVISIBLE);
        Right.setVisibility(View.INVISIBLE);
        TimerText.setVisibility(View.INVISIBLE);
        yourScore.setText("your score:" + score);
        timer.cancel();
    }
    private void masukGame(){
        Timer=(TextView)findViewById(R.id.Timer);
        TEST=(TextView)findViewById(R.id.TEST);
        Score=(TextView)findViewById(R.id.Score);
        Left=(Button)findViewById(R.id.LeftAnswer);
        Right=(Button)findViewById(R.id.RightAnswer);
        BACKBTN=(Button)findViewById(R.id.BACKTom);
        GAMEOVER=(TextView)findViewById(R.id.GAMEOVER);
        yourScore=(TextView)findViewById(R.id.yourScore);
        TimerText=(TextView)findViewById(R.id.TimeText);
        TIMEUP=(TextView)findViewById(R.id.TIMEUP);
        Apple=(ImageView)findViewById(R.id.Apple);
        BACKBTN.setVisibility(View.INVISIBLE);
        GAMEOVER.setVisibility(View.INVISIBLE);
        yourScore.setVisibility(View.INVISIBLE);
        TIMEUP.setVisibility(View.INVISIBLE);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game);
        masukGame();
        timer.start();
        Right.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(whichTrue == 1){
                        Benar();
                    }else{
                        Salah();
                    }
                }
          });
          Left.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(whichTrue == 0){
                        Benar();
                    }else{
                        Salah();
                    }
                }
            });
          BACKBTN.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                Intent myIA = new Intent(Game.this, MainMenu.class);
                Game.this.startActivity(myIA);
            }

          });
          //Math
          if(curGame==0){
              MakeSoalMath();
          }else{//ENGLISH

          }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.game, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

这是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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.flaternity.fasterbrain.Game" >
<TextView 
    android:id="@+id/Timer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:textSize="28sp"
    android:textColor="#000000"
    />
<TextView 
    android:id="@+id/TEST"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginTop="50dp"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:textSize="28sp"
    android:textColor="#000000"
    />

<TextView 
    android:id="@+id/Score"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal = "true"
    android:textColor="#000000"
    android:textSize="28sp"
    android:text="0"
    />

<TextView
    android:id="@+id/TimeText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:textSize="28sp"
    android:textColor="#000000"
    android:text="Time Left:" />

<Button 
    android:id="@+id/LeftAnswer"
    android:layout_width="140dp"
    android:layout_height="150dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="80dp"
    android:textColor="#000000"
    android:textSize="32sp"
    />
<Button 
    android:id="@+id/RightAnswer"
    android:layout_width="140dp"
    android:layout_height="150dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="80dp"
    android:layout_alignParentRight="true"
    android:textColor="#000000"
    android:textSize="32sp"
    />
<TextView 
    android:id="@+id/GAMEOVER"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp"
    android:textColor="#000000"
    android:textSize="40sp"
    android:text="GAME OVER"
    />
<TextView 
    android:id="@+id/TIMEUP"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp"
    android:textColor="#000000"
    android:textSize="40sp"
    android:text="TIME IS UP"
    />
<Button 
    android:id="@+id/BACKTom"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical|center_horizontal"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="5dp"
    android:textColor="#000000"
    android:textSize="20sp"
    android:text="Back"
    />
<TextView 
    android:id="@+id/yourScore"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textColor="#000000"
    android:textSize="28sp"
    android:text="your score :"
    />
    <ImageView
    android:id="@+id/Apple"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal ="true"
    android:layout_marginTop="40dp"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:src="@drawable/Apple" />
</RelativeLayout>

错误在Apple =(ImageView)findViewById(R.id.Apple); 但不知怎的,我注意到问题出现之前和问题之后的区别。在问题出现之前,当我修改R.java时它说错误所以我必须恢复。但是在我修改R.java之后问题没有出现错误,我能够保存更改。我的R.java不会生成吗?我做了研究,但我无法解决问题。每个人都说清单,但我不知道该改变什么。什么开心的?如何解决这个问题?

0 个答案:

没有答案