Android应用程序微调器导致应用程序在单击时崩溃
我有一个用java编写的android应用程序,其中包含一个微调器,如layout.xml所示:Android应用程序微调器导致应用程序在单击时崩溃,android,nullpointerexception,spinner,Android,Nullpointerexception,Spinner,我有一个用java编写的android应用程序,其中包含一个微调器,如layout.xml所示: <Spinner android:id="@+id/sprDeviceType" android:layout_width="fill_parent" android:layout_height="wrap_content" /> public class AddDevice extends Activity { private Spinner devi
<Spinner
android:id="@+id/sprDeviceType"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
public class AddDevice extends Activity
{
private Spinner deviceTypeSpinner;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.add); //Set the layout
populateDeviceTypeSpinner();
}
private void populateDeviceTypeSpinner()
{
String device_type_spinner[];
device_type_spinner = new String[2];
device_type_spinner[0] = "FTP";
device_type_spinner[1] = "QAF";
deviceTypeSpinner = (Spinner) findViewById(R.id.sprDeviceType);
ArrayAdapter deviceTypeArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, device_type_spinner);
deviceTypeSpinner.setAdapter(deviceTypeArrayAdapter);
}
}
但是,当我运行程序时,它会很好地打开“活动”,但当我单击微调器以获取下拉项时,它会使程序崩溃,引发NullPointerException
有人知道我做错了什么吗
日志显示:
08-14 14:57:02.034: D/AndroidRuntime(1612): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
08-14 14:57:02.034: D/AndroidRuntime(1612): CheckJNI is OFF
08-14 14:57:02.074: D/AndroidRuntime(1612): --- registering native functions ---
08-14 14:57:05.004: D/AndroidRuntime(1612): Shutting down VM
08-14 14:57:05.014: I/AndroidRuntime(1612): NOTE: attach of thread 'Binder Thread #3' failed
08-14 14:57:05.184: D/AndroidRuntime(1637): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<
08-14 14:57:05.184: D/AndroidRuntime(1637): CheckJNI is OFF
08-14 14:57:05.224: D/AndroidRuntime(1637): --- registering native functions ---
08-14 14:57:05.524: D/AndroidRuntime(1637): Shutting down VM
08-14 14:57:05.544: I/AndroidRuntime(1637): NOTE: attach of thread 'Binder Thread #3' failed
08-14 14:57:02.034:D/AndroidRuntime(1612):>>>>>>>>>>>>>>>>>AndroidRuntime START>AndroidRuntime START使用SpinnerAdapter
而不是ArrayAdapter
。我从使用编程中的数组改为使用保存在xml中的数组
private void populateDeviceTypeSpinner()
{
deviceTypeSpinner = (Spinner) findViewById(R.id.sprDeviceType);
ArrayAdapter<CharSequence> deviceTypeArrayAdapter = ArrayAdapter.createFromResource(this, R.array.deviceType, android.R.layout.simple_spinner_item);
deviceTypeArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
deviceTypeSpinner.setAdapter(deviceTypeArrayAdapter);
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="deviceType">
<item >FTP</item>
<item >QAF</item>
</string-array>
</resources>
private void populatedDeviceTypeSpinner()
{
deviceTypeSpinner=(Spinner)findViewById(R.id.sprDeviceType);
ArrayAdapter deviceTypeArrayAdapter=ArrayAdapter.createFromResource(这个,R.array.deviceType,android.R.layout.simple\u微调器\u项);
deviceTypeArrayAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
deviceTypeSpinner.setAdapter(deviceTypeArrayAdapter);
}
文件传输协议
QAF
post,但它看起来没有多大帮助@gtumca MACi在您的logcat plz中找不到空指针post相关logcat使用标记AndroidRuntime发布logcat输出使用标记AndroidRuntime@Nandeesh编辑请以正确的方式添加您的logcat。不是这样的。我甚至不明白上面说的是什么。只需复制整个堆栈跟踪。