我发现我的R.java什么都没有,有人可以告诉我在R.java中要写什么

时间:2014-02-27 17:45:41

标签: android textview findviewbyid

错误是,R加下划线红色!和com.example.guessthenumber.R也加下划线红色! 当它盘旋时,它说要在包com.example.guessthenumber.R

中创建一个R类

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:background="@drawable/Guess"
    android:gravity="start"
    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=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="Done!" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:text="Enter your guessed number below"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#191970"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_centerVertical="true"
        android:text="0"
        android:inputType="number" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="29dp"
        android:fontFamily="sans-serif-condensed"
        android:text="@string/guess"
        android:textColor="#000000"
        android:textSize="22sp"
        android:textStyle="bold" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/game" />

</RelativeLayout>

下面是一个java文件:

package com.example.guessthenumber;

import android.os.Bundle;
import com.example.guessthenumber.R 
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView t1 = (TextView) findViewById(R.id.textView1);
        final TextView guessText = (TextView) findViewById(R.id.textView2);
        final EditText userGuess = (EditText) findViewById(R.id.editText1);

        Button b1 = (Button) findViewById(R.id.button1);

        final String[] myNames={"Shashank","Sarthak","Gowda","$hankar"};


        b1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                String randText="";
                // TODO Auto-generated method stub

                int rando = (int) (Math.random()* 6);
                int userNumber = Integer.parseInt(userGuess.getText().toString());

                if(userNumber == rando){
                    guessText.setText("You got it right!");
                }else{
                    guessText.setText("Guess again! :(");
                }

                randText=Integer.toString(rando);
                t1.setText(randText);   

                userGuess.setText("0");
            }
        });

    }

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

}

2 个答案:

答案 0 :(得分:1)

替换:
import android.R; 通过

import com.example.guessthenumber.R  

OR

删除import.android.R并使用ctrl + shift + O,如果使用eclipse则组织导入。

清理,建立你的项目。

另外,请阅读更多有关R:
的内容 Android: What is R? Why is it so Cryptic?

检查您的导入 - 位于活动顶部,位于您的包名称下方。并确保它有这样的行:

import your_application_package_name.R;

同意枪口上面的评论,

在xml中,没有为TextView正确定义“id”。请发布xml代码,也可能是活动的。

在TextView中修改“id”的方法,xml:

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

答案 1 :(得分:0)

检查您是否从包中导入R类,而不是Android的类。还要检查您的resources是否包含错误,否则将不会生成R类。