对(Button)findViewById的错误感到困惑

时间:2013-03-12 15:50:25

标签: java android xml

我不理解findViewById(R.id.spinner2)语法。我有 搜索了解释,但只找到了更高级的主题。

activity_main.xml的线性布局中,我添加一个按钮并编辑ID

@+id/spinner2

并将文字编辑为新字符串。

我假设某处记录了一个ID,类似于strings.xml 掌握着弦乐。

但是当我这样做时,在.java文件中:

spinner2 = (Spinner) findViewById(R.id.spinner2);

“id”显示错误(红色波浪)。

我只是想知道我哪里错了?

java文件 -

package com.example.test;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {
  Spinner spinner1, spinner2;
  private Button btnSubmit;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    addItemsOnSpinner2();
    addListenerOnButton();
    addListenerOnSpinnerItemSelection();
  }

  // add items into spinner dynamically
  public void addItemsOnSpinner2() {
    spinner2 = (Spinner) findViewById(R.id.spinner2);
  }
}

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"
    android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/country_arrays"
        android:prompt="@string/country_prompt" />

</LinearLayout>

3 个答案:

答案 0 :(得分:2)

  

“id”显示错误(红色波浪)

先试试这个

清理项目然后重建它。

如果它无法解决您的问题,那么layoutAndroidManifest.xml可能会出错。

答案 1 :(得分:2)

  

“id”显示错误(红色波浪)。

因此,很可能您在某些XML文件中有一些错误,并且您的R.java未正确创建。因此,首先检查错误,然后清理并重建项目将有助于解决您的问题。

答案 2 :(得分:-1)

您尚未导入R.java文件。您必须使用import com.example.test.R