2011-12-19 2 views
-1

Я пытался выработать свой учебник по spinner, но он, похоже, не показывает заголовок. может ли кто-нибудь вести меня по какой части, которую я мог бы упустить?android Spinner method

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

, пожалуйста, сообщите об ошибке. –

+0

добавьте стек вашего Exception frm в ваш LogCat – Houcine

+0

Возможный дубликат [Как сделать Android Spinner с исходным текстом «Выбрать один»] (http://stackoverflow.com/questions/867518/how-to-make-an- Android-кок-с-начально-текст выберите один) – blahdiblah

ответ

0

Не совсем уверен, если это возможно решение поможет (у вас может быть особая причина, чтобы попробовать его ваш путь), но в прошлом я только что добавил текст подсказки в начало строкового массива Spinner (в позиции 0), а затем он показывает по умолчанию в widg и др. Затем, в 'onItemSelected', я игнорирую что-либо, если pos == 0.

0

Я не знаю точно, что вы подразумеваете под заголовком, но в учебнике отображается подсказка в TextView в main.xml, которую вы делаете не показывать:

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