错误信息是:planets_array无法解析或不是字段。我在我的strings.xml文件中声明了它
package com.android.hellospinner1;
import android.app.*;
import android.os.*;
import android.view.View;
import android.widget.*;
import android.widget.AdapterView.OnItemSelectedListener;
import android.*;
import java.util.*;
public class hellospinner1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
}
答案 0 :(得分:2)
每当我点击这样的错误消息时,我只会点击Ctrl+Shift+ O
(假设你正在使用eclipse)。这是组织进口的捷径。
答案 1 :(得分:1)
你导入每个android包有什么特别的原因吗?我不是百分百肯定,但我认为这会让你陷入麻烦,因为它也会导入android.R
,这绝对不是你想要的。
因此,请尝试删除import android.*
。
答案 2 :(得分:0)
不确定,但教程说创建一个名为“arrays.xml”的新文件,所以请继续。我有同样的错误,因为我在文件夹“layout”中创建了文件“arrays.xml”,而不是在文件夹“values”中创建。移动它,问题解决了。
顺便提一下,本教程并没有告诉你把它放在文件的顶部,但如果你不这样做,你就会收到错误:
<?xml version="1.0" encoding="utf-8"?>