Staram się, aby mój spinner działał jak pasek rozwijanej listy akcji, ale nie mogę go w ogóle wdrożyć, nie ma wielu tutoriali po tym, jak przeszukuje się Google. Myślę, że ma to coś wspólnego z .setListNavigationCallbacks(); linii kodu, po prostu nie mam pojęcia, jak to działa od tej linii.Jak dodać spinner do paska akcji?
// setup action bar for spinner
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
bar.setListNavigationCallbacks();
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.tools_array_stopwatch, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
break;
case 1:
Intent countdown = new Intent(this, CountdownActivity.class);
startActivity(countdown);
break;
default :
break;
}
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
"Sterowanie listami i kartami na pasku akcji nie służy do uruchamiania działań." Dlaczego nie można użyć paska działań do uruchamiania działań? –
@JerryBrady: Elementy akcji (tj. Przyciski na pasku narzędzi) z pewnością mają sens w uruchamianiu innych działań. – CommonsWare
@CommonsWare: Zgadzam się, ale Mapy Google jawnie rażąco naruszają tę zasadę w ICS, każdy wpis w nawigacji listy otwiera osobne działanie. Nie uważam tego szczególnie dziwnego zachowania; zamiast tego zastanawiam się, w jaki sposób udało im się zapobiec krótkiemu momentowi otrzymania przez niewłaściwą etykietę niewłaściwego elementu. –