2014-01-30 3 views
0

Попытка просто получить Spinner в моем приложении, но строки (закомментировано, приложение отлично работает без этих двух строк) дают мне ошибки каждый раз, когда я пытаюсь запустить Activity. Я устанавливаю Array в Strings.XML для использования в сочетании с Spinner для просмотра данных.Spinner Андроид-адаптер в основном Упражнение

Мой XML содержит Spinner так:

<Spinner 
android:id="@+id/spinner" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" /> 

В strings.xml У меня есть массив:

<string-array name="spinner_array"> 
    <item>Mercury</item> 
    <item>Venus</item> 
    <item>Earth</item> 
    <item>Mars</item> 
    <item>Jupiter</item> 
    <item>Saturn</item> 
    <item>Uranus</item> 
    <item>Neptune</item> 
</string-array> 

Моей основная деятельность, 2 строки, которые комментировали ошибку причины.

public class BusPurchase extends Activity 
{ 


@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, 
    R.array.spinner_array, android.R.layout.simple_spinner_item);  

    super.onCreate(savedInstanceState); 

     //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    //spinner.setAdapter(adapter); 
    setContentView(R.layout.activity_bus_purchase);   
} 

Log Cat Показывает это: http://chopapp.com/#cbz5r823

+0

Ссылка Chopapp не отображает никаких журналов :( – GhostDerfel

ответ

1

вызова setContentView перед обращением вида из макета XML как:

protected void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_bus_purchase); // set layout here 
    Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    //..your code here 

} 

потому, что вы пытаетесь получить доступ взглядов перед настройкой макета для деятельности

+0

Nice one Спасибо, миллион! – Shaz

0

Вы получаете указатель Null на свои ссылки на spinner (R.id.spinner), потому что вы Повторите попытку ссылки на элементы в своем макете, прежде чем раздувать макет. Попробуйте вызвать setContentView (R.layout.activity_bus_purchase); сначала в вашем методе onCreate() и посмотрите, не исправляет ли это это.

Смежные вопросы