2012-08-14 69 views
0

我有一个Android应用程序,写的包含,除其他事项外的java,旋,在layout.xml如下:Android应用微调曹景伟应用程序崩溃,当点击了

<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异常。

有人看到我在做什么错了吗?

的logcat的显示:

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 
+0

发表您的logcat – MAC 2012-08-14 13:56:06

+0

发布,但它看起来并不非常有帮助@ gtumca-MAC – 2012-08-14 14:01:20

+0

我不找你logcat的PLZ后空指针相关的logcat – MAC 2012-08-14 14:04:18

回答

0

予改变。

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> 
0

从使用阵列予编程,使用保存在XML值的阵列使用SpinnerAdapter代替ArrayAdapter ..

相关问题