8

Ta kwestia została również poproszony przez kogoś na Android Developers Google Group (link), ale nie ma odpowiedzi ...Odpowiednik NavUtils, jeśli nie korzystasz z biblioteki pomocy Androida?

Niedawno usunięto bibliotekę wsparcia v4 z mojego Android projektu w Eclipse, ponieważ moja aplikacja dotyczy tylko Androida 4.0 (Ice Cream Sandwich) i więcej. Przechodzę teraz przez wszystkie odwołania do bibliotek pomocniczych, które dają mi błędy.

Jednym z nich jest w szczególności NavUtils, który wydaje się być klasą biblioteki wsparcia używaną w nawigacji Aktywności. Przykład:

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    switch (item.getItemId()) 
    { 
    case android.R.id.home: 
     NavUtils.navigateUpFromSameTask(this); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

Co jest odpowiednikiem NavUtils gdy nie przy użyciu biblioteki support?

Odpowiedz

4

Sprawdź kod źródłowy NavUtils, w razie potrzeby po prostu skopiuj go do swojego projektu. Po prostu ustawia aktywność nadrzędną w manifeście i uruchamia ją.

+1

Warto również zauważyć, że post ICS (JB i wyżej) wszystkie funkcje 'NavUtils' są włączone do klasy' Activity'. Jeśli kierujesz reklamy na interfejs API 15 lub nowszy, w ogóle nie potrzebujesz 'NavUtils'. – dcow

+0

@DavidCowden masz na myśli, jeśli celujesz w interfejs API 16 i nowszy. 15 nadal potrzebuje NavUtils. –

+0

@DoctororDrive tak to jest literówka. Dzięki za złapanie go. – dcow

0

Wersja Androida z Jelly Beans posiada NavUtils włączone do klasy Activity.

Nie trzeba obsługiwać obudowy : android.R.id.home w onOptionsItemSelected(). LUB możesz po prostu return false dla tego przypadku w onOptionsItemSelected().

0

Oto to najprostsza odpowiedź udało mi się znaleźć, i to, co zrobiłem w moim kodu:

Wystarczy wymienić:

NavUtils.navigateUpFromSameTask(this); 

z:

navigateUpTo(getParentActivityIntent()); 

nadzieję, że to pomaga!

Powiązane problemy