2010-11-22 2 views
3


Я использую учебное пособие для Android «Привет, Тестирование» с использованием Eclipse Galileo. (http://developer.android.com/resources/tutorials/testing/helloandroid_test.html) Когда я пытаюсь скомпилировать и запустить программу, я получаю сообщение об ошибке «com.example.helloandroid.R.id не может быть разрешен».Ошибка программирования Android

package com.example.helloandroid.test; 
import com.example.helloandroid.HelloAndroid; 
import android.test.ActivityInstrumentationTestCase2; 
import android.widget.TextView; 

public class HelloAndroidTest extends ActivityInstrumentationTestCase2<HelloAndroid> 
{  
    private HelloAndroid mActivity; // the activity under test  
    private TextView mView;   // the activity's TextView (the only view)  
    private String resourceString;  

    public HelloAndroidTest() 
    {  
     super("com.example.helloandroid", HelloAndroid.class);  
    }  

    @Override  
    protected void setUp() throws Exception 
    {   
     super.setUp();   
     mActivity = this.getActivity();   
     mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview);   
     resourceString = mActivity.getString(com.example.helloandroid.R.string.hello);  
    }  

    public void testPreconditions() 
    {  
     assertNotNull(mView);  
    }  

    public void testText() 
    {  
     assertEquals(resourceString,(String)mView.getText());  
    } 
} 

Спасибо за любую помощь/советую предложить!

+2

Пожалуйста, пост весь код. Вероятно, вам не хватает импорта. – birryree 2010-11-22 21:01:26

ответ

4

Такие вещи случайно случаются иногда даже без каких-либо ошибок, поэтому сначала попробуйте очистить свой проект, чтобы принудительно завершить восстановление и регенерацию R.java.

Если это не исправить, вы можете начать все сначала и быть уверенным, что будете точно следовать инструкциям по настройке проекта. Ваша явная ссылка на com.example.helloandroid.R требует, чтобы ваш проект был назван этим, а не com.example.HelloAndroidTest, поскольку это может закончиться, если это ваш основной класс. Если вы откроете папку gen/и увидите файл .R.java, который не находится в пакете com.example.helloandroid, это ваша проблема - пакет сгенерированного класса R и абсолютное или относительное имя, которое вы ссылаетесь на него по необходимости чтобы соответствовать.

+0

Спасибо! Я попробую! – androidGM 2010-11-22 21:08:36

1

Редактировать R.java (найдено в гене) проекта HelloAndroid не HelloAndroidTest. Найти этот блок

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
/> 

Здесь проблема заключается в том, что идентификатор не указан. просто добавьте

android.id:"@+id/textview" 

т.е.

<TextView 
    android:id="@+id/textview" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
/> 
Смежные вопросы