2016-05-09 9 views
0

私が持っている私は、活動項目の私スピナー位置を設定しようとしているが、私はlogcatにnullオブジェクト参照Androidのセットスピナー位置

に仮想メソッド「void android.widget.Spinner.setSelection(int)」を呼び出すため

試みをこのMSGを取得し、配列としてdelcared:私は活性

<string-array name="genres"> 
    <item>Action</item> 
    <item>Animation</item> 
</string-array> 

movieGenre = (Spinner) findViewById(R.id.dd_genre); 
    Log.e("ListView set Item", String.valueOf(movieItem.getaNGenre())); 
    movieGenre.setSelection(movieItem.getaNGenre()); 

logcatは私に正しく番号を示しています。

05-09 12:46:35.624 4940-4940/simpleapps.movierandomizer E/ListView set Item﹕ 3 

をしかし、私は位置を設定するとき、それは文句を言わない番号を受け入れます。私はそれが宣言されたときになぜそれが "on a null object reference"と言うのか分かりません。

+0

[NULLポインタ例外であり、私はそれをどのように修正すればよいか?](http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-の可能性のある重複やあ、それは私はそれを修正する) – Vucko

答えて

0

スピナーにアイテム(おそらくこの場合は文字列配列)を設定しましたか? また、設定しようとしているアイテム番号(この場合は3)がスピナーアイテムを超える場合、実行時エラーがスローされます。

0

最初にスピナーのアダプターを設定する必要があります。アダプタを設定した後、あなたが言及した例外はスローされません。

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
// Create an ArrayAdapter using the string array and a default spinner layout 

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
      R.array.planets_array, android.R.layout.simple_spinner_item); 

// Specify the layout to use when the list of choices appears 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
// Apply the adapter to the spinner 
spinner.setAdapter(adapter);