2011-07-13 13 views
15

Próbuję użyć liczby mnogiej w moim ostatnim projekcie Android (SDK9). Zawsze kończy się wyjątkiem ResourcesNotFoundException. Ale zasób jest tam - na pewno:Używanie funkcji liczby mnogiej kończy się w ResourcesNotFoundException

Oto część mojego strings.xml:

<plurals name="count_files"> 
    <item quantity="one">%d file</item> 
    <item quantity="other">%d files</item> 
    <item quantity="zero">%d files</item> 
</plurals> 

<plurals name="count_folders"> 
    <item quantity="one">%d folder</item> 
    <item quantity="other">%d folders</item> 
    <item quantity="zero">%d folders</item> 
</plurals> 

I tu jest ta część, która jest go za pomocą:

textView.setText(
    getResources().getQuantityString(R.plurals.count_folders, countfolders, countfolders) 
    + ", " 
    + getResources().getQuantityString(R.plurals.count_files, countfiles, countfiles)); 

Oto wyjątek:

android.content.res.Resources$NotFoundException: Plural resource ID #0x7f050001 quantity=0 item=other

Muszę zachować do 15 różnic t W ten sposób potrzebuję lokalizacji tekstu i liczby mnogiej.

Masz pojęcie, co jest nie tak z moim kodem?

Wielkie dzięki z góry.

+0

Co chcesz mi powiedzieć za pomocą tego linku? Nie widzę żadnej różnicy między moim kodem a tym znalezionym na tej stronie. Dostaję błąd ... –

+0

Używam tej samej konfiguracji właśnie teraz i to działa. Czy na pewno umieszczasz w domyślnym folderze "wartości"? –

+0

Powyższy kod XML jest częścią mojego pliku strings.xml w folderze res/values. Dokumenty systemu Android mówią wyraźnie, że jest to zwykłe, ale nie wymagane miejsce: "Zbiór plurals jest prostym zasobem, do którego odwołuje się za pomocą wartości podanej w atrybucie name (a nie nazwie pliku XML). może łączyć wiele zasobów z innymi prostymi zasobami w jednym pliku XML, w ramach jednego elementu ". Łamanie głowy, nie wiem, co jest nie tak z moim kodem ... –

Odpowiedz

1

Android implementuje liczbę mnogą w taki sposób, że należy rozważyć każde tłumaczenie, aby wymagać konsekwentnie każdej liczby mnogiej. Na przykład, jeśli zadeklarowałeś liczbę mnogą dla "zera" w "es", a także masz plik "fr", musisz również zdefiniować liczbę "zero" w pliku "fr".

+2

Inny przykład, który powoduje ten sam błąd: zapominając "inna" ilość – HannahMitt

Powiązane problemy