красная закорючка под «id»

#android #android-manifest

#Android #android-манифест

Вопрос:

В следующем снипе в любом месте, где появляется «id», есть красная закорючка, подчеркнутая красным (и значок «лампочка» с красным квадратом в паре X на левом поле:

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //the id of the main layout was manually added in the XML file!
    LinearLayout ll = (LinearLayout) findViewById(R.id.main_layout);

    recButton = (Button) findViewById(R.id.recButton);
    recButton.setEnabled(true);
    recButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            startRecording();

        }
    });

    stopButton = (Button) findViewById(R.id.stopButton);
    stopButton.setEnabled(false);
    stopButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            stopRecording();
        }
    });

    playButton = (Button) findViewById(R.id.playButton);
    playButton.setEnabled(false);
    playButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            playRecording();
        }
    });

    analyzerButton = (Button) findViewById(R.id.analyzerButton);
    analyzerButton.setEnabled(false);
    analyzerButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            analyzeRecording();
        }
    });

    audioShape = new AudioShape(this);
    ll.addView(audioShape);
}
  

Наведение курсора мыши означает «идентификатор не может быть разрешен или не является полем».

Я всего лишь скопировал некоторые файлы Open Data Kit (ODK) .java в новое приложение для запуска Android типа Hello. Больше ничего не сделал, и, конечно же, не создал для этого никакого пользовательского интерфейса (нужно ли мне это?). Файлы, которые я подключил к Eclipse, следующие: http://code.google.com/p/opendatakit/source/browse/src/net/hugo/audioAnalyzer/?repo=listenamp;r=1146e38a2c144b6b338f694bc39fda3c26c3d1e1

Не знаю, как поступить. Спасибо за любую помощь.

Ответ №1:

Вам действительно нужно создать для этого новый пользовательский интерфейс. Когда вы добавляете пользовательские идентификаторы, например, android:id="@ id/myButton" к элементам в файле макета (XML-файл под res/layout ), система сборки Android сделает идентификатор постоянным R.id.myButton в классе пользовательской сборки вашего проекта R . Итак, найдите основной макет из вашего примера проекта и скопируйте его.

Комментарии:

1. Спасибо, чрезвычайно полезное объяснение.