Hi pracuję z gestów i trzeba importować, ale im się błądImport com.android.internal.R nie może zostać rozwiązany
com.android.internal.R;
Import com.android.internal.R nie można rozwiązać
uprzejmie mi pomóc, proszę
Hi pracuję z gestów i trzeba importować, ale im się błądImport com.android.internal.R nie może zostać rozwiązany
com.android.internal.R;
Import com.android.internal.R nie można rozwiązać
uprzejmie mi pomóc, proszę
Przede wszystkim, co jest gesty? Czy masz pakiet o nazwie com.android.internal w folderze gen? Czy to zawiera R.java? Jeśli nie, spróbuj Project-> Clean in Eclipse. Jeśli nadal nie działa, możesz mieć błąd w plikach układu XML.
Nie mówisz, dlaczego potrzebujesz dostępu do com.android.internal.R
, ale smutny jest fakt, że po prostu nie możesz go zaimportować ("wewnętrzny" jest wskazówką, że nie jest częścią publicznego interfejsu API). Google nie ujawnia tego, ponieważ może ulec zmianie.
Możliwe jest uzyskanie dostępu do zasobów wewnętrznych przez wywołanie Resources.getSystem()
. Aby uzyskać wartość danego identyfikatora zasobów, trzeba znać jego nazwę, a następnie użyć kodu jak poniżej, aby znaleźć wartość:
Resources res = Resources.getSystem();
int id = res.getIdentifier("resource name", "resource type", "android");
zdawać sobie sprawę, że każda nazwa używanie może zniknąć w przyszłych wersjach Androida .
Dziękuję za odpowiedź! Jak mogę uzyskać identyfikator zasobu tego elementu? '' '
@nAkhmedov - Twoje pytanie jest niejasne. To, co pokazałeś, to definicja zasobu 'id', którą możesz określić jako' R.id.switch_widget' w kodzie. Czy jest coś jeszcze, co masz na myśli? –
Mam kilka sugestii:
1) upewnij się, że nie ma żadnych innych błędów innych niż błędów związanych R. Kliknij prawym przyciskiem myszy folder projektu w Eclipse, Narzędzia Android -> Napraw właściwości projektu.
2) Sprawdź, czy zaimportowano prawidłowy R. Czasami można zaimportować domyślny Android.R.
Tak, możesz użyć wewnętrznego R z brudną sztuczką (brudna sztuczka = odbicie Java).
Wystarczy przykład:
Class clasz = Class.forName("com.android.internal.R$styleable")
Field field = clasz.getDeclaredField("TextAppearance");
field.setAccessible(true);
int[] textAppearanceStyleArr = (int[])field.get(null);
field = clasz.getDeclaredField("TextAppearance_textSize");
field.setAccessible(true);
int textSizeStyle = (Integer)field.get(null);
Uzyskiwanie dostępu do wewnętrznych interfejsów API poprzez odbicie nie jest obsługiwane i może nie działać na wszystkich urządzeniach lub w przyszłości! –
Skąd błąd podtrzymać? Czy zmieniłeś coś w konfiguracji projektu lub dodałeś nowe pliki ręcznie? Jeśli tak, spróbuj oczyścić projekt i zbuduj go ponownie. – Ahmed