资源无法解决

时间:2010-11-17 12:53:09

标签: android spinner

错误信息是: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.
     }
 }
}

3 个答案:

答案 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"?>