Wie man die String-Ressource innerhalb der ViewPager-Adapter?
Ich versuche, den Titel für mein viewpager, ich kann nicht scheinen, um es zu arbeiten. Ich habe versucht Ressourcen.getSystem().getString(R. string.title1); und auch versucht, zu übergeben einen Kontext. Könnte mir jemand helfen?
public class ViewPagerAdapter extends FragmentPagerAdapter {
final int PAGE_COUNT = 3;
Context context;
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return PAGE_COUNT;
}
@Override
public Fragment getItem(int position) {
return PageFragment.create(position + 1);
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return Resources.getSystem().getString(R.string.title1);
case 1:
return Resources.getSystem().getString(R.string.title1);
case 2:
return Resources.getSystem().getString(R.string.title1);
}
return null;
}
}
Logcat:
09-02 17:40:33.160: E/AndroidRuntime(3116): FATAL EXCEPTION: main
09-02 17:40:33.160: E/AndroidRuntime(3116): android.content.res.Resources$NotFoundException: String resource ID #0x7f050003
09-02 17:40:33.160: E/AndroidRuntime(3116): at android.content.res.Resources.getText(Resources.java:230)
09-02 17:40:33.160: E/AndroidRuntime(3116): at android.content.res.Resources.getString(Resources.java:314)
InformationsquelleAutor user2740699 | 2013-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, nach deiner Fehlermeldung Sie nicht über einen String mit der ID, die Sie anfordern.
Sowieso, diese Zeile code:
ist, wie man einen String aus den Ressourcen.
InformationsquelleAutor Philipp Jahoda
sollten Sie rufen getString aus einer Tätigkeit der Kontext, ändern Sie Ihren code so,
InformationsquelleAutor Ali AlNoaimi
Wenn Sie versuchen, Zugriff auf string-Ressourcen aus, die außerhalb einer Tätigkeit, dann muss man den Zusammenhang in dieser Klasse (die Sie angegeben haben Sie bereits getan), und rufen Sie dann
Überprüfen Sie auch Ihre
strings.xml
- Datei, um sicherzustellen, dass Sie die string-id richtig.Wenn Sie mit android studio Sie sollten in der Lage sein, um Sie einfach mit der Eingabe beginnen
R.string.
und es wird sich dann zeigen Anregungen aus der strings.xml Datei. Wenn Sie nicht sehen, Ihre Ressource hier, dann kann das auf ein problem mit der Art, wie Sie die Speicherung Ihrer Ressourcen, im Gegensatz zu wie Sie versuchen, auf Sie zuzugreifen.InformationsquelleAutor Frank Cangialosi
Verwenden Sie einfach die zur Verfügung mit:
getContext().getString(resId)
wie:Es funktionierte für mich.
InformationsquelleAutor Shailendra Suriyal
Sie versuchen zu Holen
String
in IhremResources
ohne zu gewinnenResources
. So versuchen, ziehen Sie IhreResources
mitgetResources()
mit IhremContext
.Wenn Ihr innerhalb
Activity
oderService
dann der Kontext ist es. Wenn außerhalb, dann versuchen zu ziehenContext
erste mitgetApplicationContext()
und auf, ziehen Sie die Ressourcen und ziehen IhreString
am Ende.Als pro Ihr diesen Code Schnipsel würde nicht werfen eine Ausnahme, wenn
resources
und erwähntString
id ' s werden richtig gezogen.InformationsquelleAutor Vikalp Patel
Meiner Erfahrung, der Blick pager nicht zeigen, dass jeder text auf dem Bildschirm zugeordnet konsequent. Ich brauchte, um zu erstellen ein separates layout für jede Seite und weisen Sie den text im layout, so dass beim Umblättern der Seiten, jede Seite zeigt ein layout mit text.
InformationsquelleAutor fullMoon
Versuchen :
InformationsquelleAutor Ritaban