2015-07-11 2 views
0

Используя приведенный ниже код, я хочу просто изменить макеты при выборе значения счетчика. Однако, когда моя активность загружается, счетчик никогда не загружает выбранные значения.Использование Spinner для изменения макетов

Как ни странно, когда я удалить код (и все под ним)

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

значения Горячо появляются снова.

public class ListCarsActivity extends Activity implements OnItemClickListener, OnClickListener, OnItemSelectedListener { 

public static final String TAG = "ListCarsActivity"; 
Spinner spinner; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.list_cars); 

    spinner = (Spinner) findViewById(R.id.spinner3); 
    ArrayAdapter adapter= ArrayAdapter.createFromResource(this,R.array.domain,android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(this); 
    // initialize views 
    initViews(); 

    } 

    spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View view, 
            int position, long row_id) { 

      switch(position){ 
       case 1: 
        setContentView(R.layout.list_cars); 
        break; 
       case 2: 
        setContentView(R.layout.list_owners); 
        break; 
      } 
      setContentView(R.layout.list_cars); 

     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 

    }); 

ответ

0

Скручиватель, о котором вы говорите, находится в вашем первом действии. После того, как вы заменили контент, прядильщика больше нет. Если во втором макете есть еще один счетчик, вам нужно снова подключить его и снова установить слушателя. В основном вы должны запускать свой материал onCreate после каждого setContentView ...

Как побочное примечание, что бы вы ни пытались сделать, это, вероятно, не путь. Чтобы показать еще один полный макет, лучше использовать другое действие.

+0

Итак, я должен в принципе построить новое действие для каждого элемента счетчика? Все они будут списками для каждого нового мероприятия. Можно ли повторно использовать один и тот же адаптер списка? Поскольку все списки одинаковы. – neo

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