Zgodnie z Google's document, potrzebny jest getActionBar().setDisplayHomeAsUpEnabled(true)
, aby wyświetlić przycisk w górę. Stworzyłem działanie bare-bone za pomocą kreatora w Eclipse i określiłem jego macierzystą aktywność. Nie mogłem znaleźć żadnego getActionBar().setDisplayHomeAsUpEnabled(true)
w automatycznie generowanym kodzie, ale przycisk up jest obecny, gdy ta aktywność jest uruchomiona i działa zgodnie z oczekiwaniami. Czy ktokolwiek mógłby rzucić trochę światła na to?Dlaczego przycisk up jest obecny bez setDisplayHomeAsUpEnabled()?
public class FooActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_foo);
//more code...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//more code...
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//more code...
return rootView;
}
}
}
Wielkie dzięki za szybką odpowiedź. Czy to oznacza, że dokument jest nieprawidłowy (tj. GetActionBar(). SetDisplayHomeAsUpEnabled (true) jest zbędny), czy są okoliczności, w których takie wywołanie jest potrzebne, aby wyświetlić przycisk "up"? – Hong
Nie nazwałbym tego "niewłaściwym", ale prawdopodobnie mógłby zostać przeformułowany, by był nieco bardziej przejrzysty. Zawiera komunikat "Robiąc to umożliwia systemowi ułatwianie wzorców nawigacyjnych, takich jak Up ..." o dodawaniu 'parentActivityName'. Ale w twoim przypadku zbędne jest wywoływanie 'ActionBar.setDisplayHomeAsUpEnabled'. – adneal
Czy istnieje sytuacja, w której wymagana jest funkcja setDisplayHomeAsUpEnabled? Pytam o to, ponieważ chcę się upewnić, że dodanie parametru ParentActivityName jest wszystkim, co muszę zrobić, aby mieć przycisk "up" dla tysięcy różnych modeli urządzeń z Androidem. Przeczytałem ten dokument kilka razy i daje mi to wrażenie, że dodanie parentActivityName jest "pierwszym krokiem" (cytowanym z dokumentu), a drugim krokiem jest wywołanie setDisplayHomeAsUpEnabled. Wygląda na to, że jest nawet trzeci krok. Przykro mi z powodu mojego ograniczonego rozumienia tego dokumentu. – Hong