2011-07-10 53 views
0

我试图填充微调,但spiner.setAdapter(适配器)的应用程序崩溃......当的Android应用程序崩溃填充微调

final Context c=this; 
ArrayList<CountryItem> countriesArray = GetCountries1(); 
ArrayAdapter<CountryItem> adapter = new ArrayAdapter<CountryItem>(
    c,android.R.layout.simple_spinner_item, countriesArray); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
final Spinner spiner=(Spinner)findViewById(R.id.spinner1); 
spiner.setAdapter(adapter); 

我不能在这里找到任何错误,和eclipse调试模式不显示任何有用的... 这里是来自谷歌的例子...它是如此不同于我的代码?

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); 

回答

0

你会得到什么错误?

您是否检查countriesArray是否有元素或者是否为空?

它是否在使用时,例如,一个简单的字符串数组?如果是,那么问题在于CountryItem对象。

除此之外,我看到的唯一区别是您将上下文作为final变量传递,但我不知道是否会导致错误。尝试仅通过this并查看它是否有效。

+0

这个问题已经超过一年了......我不知道如何使用堆栈溢出的时间... :)所以我现在接受这个答案......如果我没有记错,它是上下文导致问题的变量 – user568021