2011-12-19 67 views
-1

我試圖解決我的微調教程,但它似乎沒有顯示標題。任何人都可以指導我關於哪一部分,我可能會忽略?android Spinner方法

public class HelloSpinnerActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     spinnertest = (Spinner) findViewById(R.id.Spinner01); 
     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
       this, R.array.Planets, android.R.layout.simple_spinner_item); 

     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinnertest.setAdapter(adapter); 
     spinnertest.setOnItemSelectedListener(new MyOnItemSelectedListener()); 
    } 
    public class MyOnItemSelectedListener implements OnItemSelectedListener { 

     public void onItemSelected(AdapterView<?> parent, 
      View view, int pos, long id) { 
      Toast.makeText(parent.getContext(), "The planet is " + 
       parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); 
     } 

     public void onNothingSelected(AdapterView parent) { 
      // Do nothing. 
     } 
    } 
} 

main.xml中

<Spinner 
    android:id="@+id/Spinner01" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:prompt = "@string/planet_prompt" 
    android:entries ="@array/Planets"> 
</Spinner> 

的strings.xml

<string name="app_name">Spinner</string> 
<string name="planet_prompt"> Select a planet </string> 
<string-array name="Planets"> 
    <item>Mercury</item> 
    <item>Venus</item> 
    <item>Earth</item> 
    <item>Mars</item> 
    <item>Jupiter</item> 
    <item>Saturn</item> 
    <item>Uranus</item> 
    <item>Neptune</item> 
    <item>Pluto</item> 
</string-array> 
+1

請發佈一個問題的快照。 – 2011-12-19 09:24:03

+0

添加您的異常frm您的LogCat的堆棧 – Houcine 2011-12-19 10:16:00

+0

可能的重複[如何使用初始文本「選擇一個」的Android微調器](http://stackoverflow.com/questions/867518/how-to-make-an- Android的微調與 - 初始文本選擇一) – blahdiblah 2013-03-09 11:28:02

回答

0

不太清楚,如果這是可能的解決方案將幫助(你可以有一個特別的理由來試試吧你的方式),但在過去,我只是將提示文本添加到Spinner字符串數組的頂部(在位置0),然後默認顯示在widg中等。然後,在'onItemSelected'中,如果pos == 0,我將忽略任何內容。

0

我不確切知道「header」是什麼意思,但教程在main.xml中的T​​extView中顯示提示沒有顯示:

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dip" 
    android:text="@string/planet_prompt" /> 

而且,因爲你是在XML初始化你的微調,你不需要做這件事的代碼。試試這個:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); 
}