Идентификатор не может быть найден (проблема с ресурсами) - PullRequest
1 голос
/ 19 апреля 2011

Хорошо, я работаю над проектом и пытаюсь использовать кнопки с текстом внутри них в упражнении, но затмение не может найти идентификатор или 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 ]

3 голосов
/ 19 апреля 2011

Скорее всего, ваши файлы gen еще не созданы. Попробуйте построить это, оно должно убрать линии.

2 голосов
/ 19 апреля 2011

1) Вам необходимо импортировать ваш R класс. import <android package>.R Ссылка: Не удается разрешить R.id И Не удается разрешить R - ошибка Android

2) Разве ваш R.id.button1 не должен быть R.id.button_1 и так далее для других кнопок?

1 голос
/ 23 сентября 2014

Я знаю, что это очень старый пост, хотя я все же наткнулся на него в поисках аналогичной проблемы. Когда я строил проект Android, он автоматически добавил:

import android.R;

Когда я воспользовался советом выше,

import <android package>.R;

и я все еще использовал R.id ....., он все еще распространял ошибку. Я удалил

import android.R;

и ошибок нет.

1 голос
/ 19 апреля 2011

Находится ли chooser.xml в правильной папке (папка макета по умолчанию, поставляемая с проектом)? Возможно, вы пытались зайти в Project и выбрать Clean? В вашем коде все выглядит хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...