2

我不明白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>
4

3 回答 3

2

“id”显示错误(红色曲线)

先试试这个

清理项目然后重建它。

如果它不能解决您的问题,那么它可能是layout或中的错误AndroidManifest.xml

于 2013-03-12T15:53:07.407 回答
2

“id”显示错误(红色曲线)。

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

于 2013-03-12T15:53:51.463 回答
-1

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

于 2013-03-12T16:00:59.117 回答