2011-07-21 19 views
-2

我會來到天堂或地獄嗎? 因爲我必須填充5個紡紗器,所以我嘗試了非常小巧的代碼。我不明白爲什麼我應該使用ArrayAdapter,所以儘管所有教程都使用它,但我只是放棄了它。我很高興,因爲它的工作。該代碼只顯示一個微調:我的Android微調工程沒有ArrayAdapter ...爲什麼?

Spinner s2_height = (Spinner)findViewById(R.id.s2_height); 
    s2_height.setOnItemSelectedListener(new OnItemSelectedListener() { //Register a callback to be invoked when an item in this AdapterView has been selected. 
     public void onItemSelected(AdapterView<?> arg0, View arg1, //Callback method to be invoked when an item in this view has been selected 
       int arg2, long arg3) { 
      myCalc();} 
     public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

     } 
}); 

這是我的.java,在那裏我放棄了一個ArrayAdapter部分的位置,在recomanded作爲教程normaly是:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.Height_array_id, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    s2_height.setAdapter(adapter); 

令人奇怪的是,它工作,我放置了一個方法myCalc正確顯示所有5個spinners的ItemPosition。現在我擔心我會在其他地方有任何缺點,可能會改變顏色或文字高度。有人有同樣的問題嗎?

+1

我認爲它的工作原理可能是因爲你在佈局xml中分配條目(android:條目),就像那樣簡單。 – Ishaan

回答

6

我會來到天堂或地獄嗎?

這將是你的牧師,牧師,拉比等問題。它不是一個相關的問題StackOverflow。

我didn't明白我爲什麼要使用一個ArrayAdapter,所以我只是把它丟了

您不必使用ArrayAdapter,但你必須使用某種形式的SpinnerAdapter填充Spinner via setAdapter()。否則,Spinner將爲空。如果您的Spinner不是空的,那意味着您在某處調用setAdapter()

+0

我嘗試插入標準ArrayAdapter代碼的4行並再次刪除它。兩者工作一致。我絕對沒有一種setAdapter()ahywhere。是否可以,最新的SDK在setOnItemSelectedListener automaticaly(隱藏)中提供它,如果沒有明確編碼? – PedroJebeto

+0

@PedroJebeto:「我絕對沒有一種setAdapter()ahywhere。」 - 那麼你的'Spinner'是空的,或者你忘記在更改代碼後重新編譯/重新安裝你的應用程序。 – CommonsWare

+0

Android中的微調器就像一個有7個鎖的城堡。你可以看到這裏有多少類似的常見問題,這個系統有問題。你不能輕易改變微調器的外觀,顏色,大小,沒有任何東西。它是每個應用程序最基本的石頭。感謝您的幫助! – PedroJebeto

相關問題