无法找到ID(资源问题)

时间:2011-04-19 17:51:44

标签: android resources

好的,所以我正在开发一个项目,我正在尝试在一个活动中使用带有文本的按钮,但是eclipse找不到id或chooser.xml

这是myActivity类

package com.xxxxxxx;

import android.app.Activity;  
import android.content.Intent;  
import android.os.Bundle;   
import android.widget.Button;  
import android.widget.ImageButton;  
import android.view.*;

public class MyActivity extends Activity {`

    private Button mButton1;
    private Button mButton2;
    private Button mButton3;
    private Button mButton4;


        protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
                //chooser is underlined (chooser cannot be resolved or is not a field)
        setContentView(R.layout.chooser);
                //all ids are underlined(id cannot be resolved or is not a field)
        mButton1 = (Button) findViewById(R.id.button1);
        mButton2 = (Button) findViewById(R.id.button2);
        mButton3 = (Button) findViewById(R.id.button3);
        mButton4 = (Button) findViewById(R.id.button4);

         mButton1.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent myIntent = new Intent(MyActivity.this, Activity2.class);
                 startActivity(myIntent);
             }
         });
         mButton2.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent myIntent = new Intent(MyActivity.this, Activty3.class);
                 startActivity(myIntent);
             }
         });

         mButton3.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent myIntent = new Intent(MyActivity.this, Activity4.class);
                 startActivity(myIntent);
             }
         });
         mButton4.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent myIntent = new Intent(MyActivity.this, Activity5.class);
                 startActivity(myIntent);
             }
         });
             }

    }

这是chooser.xml文件

     <?xml version="1.0" encoding="utf-8"?>
<LinearLayout  
  xmlns:android="http://schemas.android.com/apk/res/android"  
  android:layout_width="fill_parent"  
  android:layout_height="fill_parent">  

 <Button
     android:id="@+id/button_1"  
     android:layout_height="wrap_content"  
     android:layout_width="wrap_content"  
     android:text="@string/button_1" /> 

   <Button 
   android:text="@string/button_2"   
   android:id="@+id/button_2"   
   android:layout_width="wrap_content"   
   android:layout_height="wrap_content"/>  

   <Button 
   android:id="@+id/button_3"   
   android:layout_width="wrap_content"   
   android:layout_height="wrap_content"  
   android:text="@string/button_3"   
  />

  <Button
     android:id="@+id/button_4"   
     android:layout_height="wrap_content"  
     android:layout_width="wrap_content"  
     android:text="@string/button_4"  
     />  

</LinearLayout>

这是字符串资源xml

 <?xml version="1.0" encoding="utf-8"?>  
<resources> 
    <string name="app_name">Test App</string>  
    <string name="test_image">test.png</string>   
    <string name="button_1">button_1</string>  
    <string name="button_2">button_2</string>  
    <string name="button_3">button_3</string>  
    <string name="button_4">button_4</string>  
</resources>  

4 个答案:

答案 0 :(得分:3)

您的gen文件很可能尚未生成。尝试建立它,它应该让线条消失。

答案 1 :(得分:2)

1)您需要导入R类。 import <android package>.R参考:R.id cannot be resolvedR cannot be resolved - Android error

2)对于其他按钮,R.id.button1不应该是R.id.button_1等等吗?

答案 2 :(得分:1)

chooser.xml是否在正确的文件夹中(项目提供的默认布局文件夹)?您是否尝试过去Project并选择Clean?你的代码中的一切看起来都还不错。

答案 3 :(得分:1)

我知道这是一篇非常古老的帖子,尽管在我寻找类似问题时我仍然偶然发现了它。当我构建android项目时,它会自动添加:

import android.R;

当我使用上述建议时,

import <android package>.R;

我仍然使用R.id .....,它仍然传播错误。我删除了

import android.R;

并且没有错误。