2012-08-14 6 views
0

J'ai une application Android, écrit en Java qui contient, entre autres, une fileuse, indiqué dans le layout.xml comme suit:Android App Spinner Causer application Crash Lorsque vous cliquez dessus

<Spinner 
    android:id="@+id/sprDeviceType" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

Il est initialisées dans la classe d'activité comme suit:

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

Cependant, quand je lance le programme, il ouvre l'activité bien, mais quand je clique sur le bouton rotatif pour obtenir le menu déroulant des éléments, il se bloque le programme, jetant un NullPointerException.

Quelqu'un voit ce que je fais mal?

Le LogCat montre:

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

publier votre logcat – MAC

+0

affiché, mais il ne semble pas très utile @ gtumca-MAC –

+0

je ne trouve pointeur NULL dans votre logcat plz poste lié logcat – MAC

Répondre

0

J'ai changé d'utiliser un tableau I programmé dans, à l'aide d'un tableau enregistré dans une valeur 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> 
0

Utilisez un SpinnerAdapter au lieu du ArrayAdapter ..

Questions connexes