2013-11-01 4 views
0

Я следую инструкциям по Android и не могу получить привет мир. У меня такая же проблема, как описано в этом this SO question, и я попытался использовать this SO answer в качестве средства защиты. Однако это не сработало.Запуск разработки Android - ошибка eclipse

Я все еще получаю activity_main cannot be resolved (строка 12) и main cannot be resolved (строка 19).

Я просто начал новый андроид проект и мой MainActivity.java выглядит следующим образом (обратите внимание, что я использую android.R. ...:

package com.arandomtesteinstein.testandroid; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(android.R.layout.activity_main); /* <----- Error in line 12 */ 
    } 


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

} 

Что я делаю неправильно

EDIT:

ОК, просто чтобы уточнить, я точно следую (насколько мне известно) official android tutorial.Когда я добираюсь до точки, где я нажимаю «Запуск», затмение вызывает ошибку, упомянутую выше. Затем я нашел this SO answer (вторая ссылка выше) и попытался следовать за ним, однако он все еще не сработал. Строго говоря, я не разрабатываю и не делаю ничего умного или дампа, я просто пытаюсь выполнить первые шаги учебника

ответ

0

prefixing android. Вы ищете макет с именем activity_main в ресурсах android, что, вероятно, делает не существует. Изменение

setContentView(android.R.layout.activity_main); 

с

setContentView(R.layout.activity_main); 
+0

Я думаю, что это значение по умолчанию при запуске проекта. Однако это не сработало, поэтому я использовал префикс 'android.', как описано в [this SO link] (http://stackoverflow.com/a/11486315/2488942), связанный выше – pandita

+0

, но это не по умолчанию. Eclipse обычно создает для вас макет по умолчанию. Вы должны использовать его. – Blackbelt

+0

Хорошо, я просто попробовал это и могу подтвердить, что он не работает. Это дает мне ту же ошибку, что и в ссылках SO, опубликованных выше.Я использовал макет по умолчанию eclipse и сразу же столкнулся с этой ошибкой, ничего не меняя. Затем я нашел то, что выглядело как решение на SO (вторая ссылка), но это все еще не сработало. – pandita

0

Да, я столкнулся же проблемой, а также и в то время я столкнулся с этой проблемой, так как не было ни одного файла в папке поколения (R.java). Очистить проект для создания этих файлов в этой папке. а затем запустите проект, как указано в учебнике. Это может сработать для вас.

+0

Спасибо, я пробовал это, но я все равно получаю ту же ошибку:/ – pandita

+0

У меня также нет файлов в gen, однако очистка проекта, похоже, не создает ничего там ... Какие файлы вы туда попали? – pandita

+0

(R.java & BuildCongif.java) эти файлы должны быть в вашей папке gen - ваш пакет. Без этого файла ваш проект не будет запускаться вообще. Итак, сделайте еще одну вещь, после того, как вы очистили свой проект, щелкните проект сборки и, если после очистки и сборки создаются автоматически созданные файлы, тогда это нормально. В противном случае может возникнуть проблема в вашем sdk или eclipse. – akshay

0

У меня была аналогичная проблема раз и оказалось, что я случайно удалил

public static final class layout { 
     public static final int activity_main=0x7f030000; 
    } 
    public static final class menu { 
     public static final int main=0x7f070000; 
    } 

из файла R.java.

0

Удалить import android.R; из импорта вашей деятельности. И импортируйте R из вашего сгенерированного пакета.

or use;

setContentView(<your_package_name_at_manifest>.R.layout.activity_main); 

вместо

setContentView(android.R.layout.activity_main); 

Edit: Вы должны использовать <your_package_name_at_manifest>.R класс для ссылки на свои ресурсы (Импортируя или непосредственно referening). Если этот класс не отображается в папке источника gen, это означает, что вы не создали проект успешно. Положительная причина для этого - ошибки в папке res вашего проекта.

+0

Я попытался: 'setContentView (com.arandomtesteinstein.testandroid.R.layout.activity_main);'. Я удалил 'import android.R', но он все равно не работает :( – pandita

+0

Тогда у вас должны быть ошибки (-и) на некоторых ваших ресурсах в папке res, а ваш R для вашего приложения в пакете gen не генерируется. сначала устраните ошибки в своих ресурсах, а затем создайте свой проект, см. свой класс R в пакете gen. – Devrim

+0

Вы решили проблему? – Devrim

Смежные вопросы