0

我試圖用一個字符串列表來填充一個Spinner。他編譯並運行在android中,但是當我在Spinner中輸入觸摸時,程序停止並返回此錯誤:

android.content.res.Resources $ NotFoundException:資源ID#0x7f090003類型#0x12無效

protected void onPostExecute(List<String> myList) 
     { 
      if (!myList.isEmpty()) 
      { 
       ArrayAdapter<String> adp = new ArrayAdapter<String>(MyActivity.this, android.R.layout.simple_spinner_item, myList); 
       adp.setDropDownViewResource(R.id.mySpinner); 
       mySpinner.setAdapter(adp); 
      } 
      else 
      { 
       Toast.makeText(getApplicationContext(), "Warning.", Toast.LENGTH_SHORT).show(); 
       Intent i = new Intent(myActivity.this, Preferences.class); 
       startActivity(i); 
      } 
     } 

回答

3

我認爲setDropDownViewResource方法需要一個佈局資源ID。

你應該

adp.setDropDownViewResource(R.layout.mySpinner); 

更換

adp.setDropDownViewResource(R.id.mySpinner); 

並確保(當然)該文件res/layout/mySpinner.xml存在

或者只是從SDK使用默認佈局:

adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
+0

但我使用android.R的佈局文件。隨Android SDK一起提供。對? –

+0

我不是在談論'android.R.layout.simple_spinner_item'(這是完全正確的),而是關於 – fiddler

+0

之後的行請參閱我的編輯:如果您想要使用默認的'android.R.layout.simple_spinner_dropdown_item' – fiddler

相關問題