2017-10-16 47 views
-2

我想在items.java中的strings.xml中顯示字符串。如果我聲明它爲字符串我卡住了一個錯誤,如果我聲明它爲int,我只看到一些數字,但不是我的字符串。也許有人可以幫助我?如何在java類數組中顯示strings.xml中的字符串

這裏是我的文件

item.java文件

public class Item { 

private static final String LARGE_BASE_URL = "http://storage.googleapis.com/androiddevelopers/sample_data/activity_transition/large/"; 
private static final String THUMB_BASE_URL = "http://storage.googleapis.com/androiddevelopers/sample_data/activity_transition/thumbs/"; 


public static Item[] ITEMS = new Item[] { 
     new Item(0, 
       "Über die App", 
       "", 
       R.drawable.appicon, 
       R.drawable.appicon, 
       "Meerforellen Guide - Ostsee", 
       R.string.about 
     ), 
     new Item(10, 
       "Die Leidenschaft", 
       "", 
       R.drawable.imgp1262, 
       R.drawable.imgp1262, 
       "Ein Einblick in den Alltag", 
       R.string.leidenschaft 
     ), 
     new Item(15, 
       "Die Technik", 
       "", 
       R.drawable.imgp0817, 
       R.drawable.imgp0817, 
       "Spinn und Fliegenfischen", 
       R.string.lorem 
     ), 
     new Item(17, 
       "Rechtliche Bestimmungen", 
       "", 
       R.drawable.imgp0831, 
       R.drawable.imgp0831, 
       "Dies gibt es zu beachten", 
       R.string.lorem 
     ), 
     new Item(18, 
       "Ferienwohnungen/Häuser", 
       "", 
       R.drawable.imgp0819, 
       R.drawable.imgp0819, 
       "Unterkünfte - dicht am Fisch", 
       R.string.lorem 
     ), 
     new Item(20, 
       "Übersicht der Spots", 
       "", 
       R.drawable.mapindex, 
       R.drawable.mapindex, 
       "Von Nord nach Süd", 
       R.string.spots 
     ), 

     new Item(30, 
       "01 - Habernis", 
       "Na de Huk\n24972 Steinburg\n", 
       R.drawable.pic, 
       R.drawable.r_habernis, 
       "Geo: 54.793909, 9.793722", 
       R.string.lorem 
     ), 

     new Item(40, 
       "02 - Falshöft", 
       "Sibbeskjär\n24395 Pommerby\n", 
       R.drawable.pic, 
       R.drawable.r_falshoeft, 
       "Geo: 54.76851, 9.96507", 
       R.string.lorem 
     ), 
     new Item(50, 
       "04 - Hasselberg", 
       "Drecht\n24376 Hasselberg\n", 
       R.drawable.pic, 
       R.drawable.r_hasselberg, 
       "Geo: 54.7201, 9.98752", 
       R.string.lorem 
     ), 
     new Item(60, 
       "05 Schönhagen", 
       "Nordhagener Straße\n24398 Brodersby\n", 
       R.drawable.pic, 
       R.drawable.r_schoenhagen, 
       "Geo: 54.63184, 10.03242", 
       R.string.lorem 
     ), 
     new Item(70, 
       "06 Waabs/Langholz", 
       "Ostseestraße\n24369 Waabs\n", 
       R.drawable.pic, 
       R.drawable.r_waabs, 
       "Geo: 54.51607, 9.98766", 
       R.string.lorem 
     ), 
     new Item(80, 
       "07 Noer", 
       "Zum Hegenwohld 35\n24214 Noer\n", 
       R.drawable.pic, 
       R.drawable.r_noer, 
       "Geo: 54.46922, 10.00011", 
       R.string.lorem 
     ), 
     new Item(90, 
       "08 Surendorf", 
       "Zum Kurstrand\n24229 Schwedeneck\n", 
       R.drawable.pic, 
       R.drawable.r_surendorf, 
       "Geo: 54.47992, 10.07472", 
       R.string.lorem 
     ), 
     new Item(100, 
       "09 Bülk", 
       "Bülker Weg\n24229 Strande\n", 
       R.drawable.pic, 
       R.drawable.r_buelk, 
       "Geo: 54.45571, 10.19875", 
       R.string.lorem 
     ), 
     new Item(110, 
       "10 Brasilien", 
       "Deichweg 2\n24217 Schönberg\n", 
       R.drawable.pic, 
       R.drawable.r_brasilien, 
       "Geo: 54.42693, 10.38323", 
       R.string.lorem 
     ), 
     new Item(120, 
       "11 Hohenfelde", 
       "Malmsteg\n24257 Hohenfelde\n", 
       R.drawable.pic, 
       R.drawable.r_hohenfelde, 
       "Geo: 54.38568, 10.50348", 
       R.string.lorem 
     ), 
     new Item(130, 
       "12 Behrensdorf", 
       "Strandstraße\n24321 Behrensdorf\n", 
       R.drawable.pic, 
       R.drawable.r_behrensdorf, 
       "Geo: 54.3602, 10.608", 
       R.string.lorem 
     ), 
     new Item(140, 
       "13 Lippe", 
       "Lippe 3\n24321 Behrensdorf\n", 
       R.drawable.pic, 
       R.drawable.r_lippe, 
       "Geo: 54.33767, 10.64692", 
       R.string.lorem 
     ), 
     new Item(150, 
       "14 Hohwacht", 
       "Dünenweg 6\n24321 Hohwacht\n", 
       R.drawable.pic, 
       R.drawable.r_hohwacht, 
       "Geo: 54.32274, 10.67195", 
       R.string.lorem 
     ), 

}; 

public static Item getItem(int id) { 
    for (Item item : ITEMS) { 
     if (item.getId() == id) { 
      return item; 
     } 
    } 
    return null; 
} 
private final int mid; 
private final String mName; 
private final String mAuthor; 
private final int mFileName; 
private final int mFileName2; 
private final String mGeo; 
private final int mBeitrag; 



Item(int id, String name, String author, int fileName, int fileName2, String geo, int beitrag) { 
    mid = id; 
    mName = name; 
    mAuthor = author; 
    mFileName = fileName; 
    mFileName2 = fileName2; 
    mGeo = geo; 
    mBeitrag = beitrag; 

} 

public int getId() { 
    return mid; 
} 
public String getGeo() { 
    return mGeo; 
} 

public String getAuthor() { 
    return mAuthor; 
} 

public String getName() { 
    return mName; 
} 
public int getBeitrag() { return mBeitrag; } 
public int getPhotoUrl() { 
    return mFileName2; 
} 

public int getThumbnailUrl() { 
    return mFileName; 
} 

}

的strings.xml

<string name="bericht">%1$s %2$s</string> 
<string name="bericht2">%1$s</string> 
<string name="image_header">%1$s</string> 
<string name="lorem">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</string> 
<string name="about">Version 1.6 http://www.mefoguide-app.de http://www.facebook.de Kontakt: [email protected] Quellen:  SplashScreen-Bild: Andre Pricken  Leidenschaft-Bild: Jochen Feuerschütz  Technik-Bild: Jochen Feuerschütz  Rechtliche Bestimmungen Bild: Jochen Feuerschütz  Ferienwohnungen/Häuser Bild: Jochen Feuerschütz  www.wikipedia.de www.google.de und natürlich hauptsächlich: persönliche Erfahrung</string> 
<string name="leidenschaft">Dieses Bild von Jochen Feuerschütz erklärt eigentlich schon vieles...Der Fisch der 1000 Würfe...Irgendwann hört jeder Angler diesen Spruch und denkt sich 1000 Würfe? Herausforderung angenommen!.Schon bald wird er in der Brandung stehen und werfen und werfen und werfen. Einige brauchen keine 1000 Würfe, andere 3000. Dieser Ratgeber soll Dir dabei Helfen, einer von denen zu sein der keine 1000 Würfe braucht. Mit jedem Update gibt es neue Hotspots. Desweiteren wird auch etwas Theroie zur Biologie folgen. Alleine gute Spots zu kennen ergibt keine Fanggarantie. Mann muss die Lebensgewohnheiten kennen und kann dann viel besser abschätzen, wann es sich nicht lohnt loszuziehen, bzw. welche Strände am vielversprechesten bei aktueller Wetterlage sind.</string> 
<string name="spots">01 - Habernis 02 - Falshöft 03 - Kronsgaard 04 - Hasselberg 05 - Schönhagen 06 - Waabs/Langholz 07 - Noer 08 - Surendorf 09 - Bülk 10 - Brasilien 11 - Hohenfelde 12 - Behrensdorf 13 - Lippe 14 - Hohwacht</string> 
+0

而不是使用天真的對象('Item'),爲什麼不使用數據庫中的行表呢? –

回答

0
context.getResources().getString(yourIntegerId) 

你需要通過上下文來你的函數,當你叫字符串fr om xml - 調用這個函數。

類似:

public String getFilename1(Context context) { 
    return context.getResurces().getString(filename1); 
} 
0

你要通過對「語境」參考類,並使用

String your_string = context_reference.getString(R.string.<your_string_id>); 
3

在strings.xml中,你可以實現你的字符串作爲一個數組,像這樣的:

<string-array name="myArray"> 
    <item>Some text 1</item> 
    <item>Some text 2</item> 
    <item>Some text 3</item> 
    <item>Some text 4</item> 
    <item>Some text 5</item> 
</string-array> 

然後,你可以讓他們像這樣:

getResources().getStringArray(R.array.myArray) 
0

在活動和片段可以直接使用

getString(R.string.your_string_id) 

因爲此方法已經有了默認getResources()標籤

/** 
    * Return a localized string from the application's package's 
    * default string table. 
    * 
    * @param resId Resource id for the string 
    */ 
    public final String getString(@StringRes int resId) { 
     return getResources().getString(resId); 
    } 

定義。如果你想使用數組,那麼在定義數組String XML

<string-array name="image_extensions"> 
     <item>application/jpeg</item> 
     <item>application/jpg</item> 
     <item>application/bmp</item> 
     <item>application/png</item> 
     <item>application/gif</item> 
    </string-array> 

and in Java Class get像這樣

String[] imagemimetypes = getResources().getStringArray(R.array.image_extensions); 
0

您可以在strings.xml試試這個

new Item(150,"14 Hohwacht","Dünenweg 6\n24321 Hohwacht\n",R.drawable.pic,R.drawable.r_hohwacht,"Geo: 54.32274, 10.67195",getResources().getString(R.string.about);), 
0

你定義字符串。 而你想要的字符串數組。爲了達到這個目的,你需要這樣做。

<string-array name="system"> 
<item>@string/earth</item> 
<item>@string/moon</item> 
</string-array> 

這樣就可以輕鬆訪問數組。

String[] some_array = getResources().getStringArray(R.array.your_string_array) 
相關問題