尝试简单地让Spinner进入我的应用程序但是线条(注释掉,应用程序在没有这两行的情况下正常工作)每次我尝试启动Activity时都会给出错误。我在Strings.XML中设置了一个数组,与Spinner一起使用来查看数据。
我的XML包含一个像这样的Spinner:
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
在Strings.XML中我有我的数组:
<string-array name="spinner_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
我的主要活动,评论的2行会导致错误。
public class BusPurchase extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.spinner_array, android.R.layout.simple_spinner_item);
super.onCreate(savedInstanceState);
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//spinner.setAdapter(adapter);
setContentView(R.layout.activity_bus_purchase);
}
Log Cat显示: http://chopapp.com/#cbz5r823
答案 0 :(得分:1)
在从xml布局访问视图之前调用setContentView
:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bus_purchase); // set layout here
Spinner spinner = (Spinner) findViewById(R.id.spinner);
//..your code here
}
因为您在设置Activity
的布局之前尝试访问视图答案 1 :(得分:0)
您在对spinner(R.id.spinner)的引用上获得了Null指针,因为您在扩充布局之前尝试引用布局中的项目。尝试调用setContentView(R.layout.activity_bus_purchase);在你的onCreate()方法中的第一件事,看看是否没有解决它。