2017-05-24 10 views
0

Ich möchte String-Quelle von res/string am Pageadapter verwenden.[Android] Get String in Ressource von PageRadapter

Wie viele Beiträge sagten, habe ich diesen Code gemacht.

public class DonImageClass extends PagerAdapter{ 

.......... 
private static Activity myactivity; 
public DonImageClass(Activity myactivity){ 
    this.myactivity = myactivity; 
} 


String imageSource = myactivity.getResources().getString(R.string.changUrla); 
........... 

Aber es gibt null Ausnahme wegen dieses Satzes zurück;

String imageSource = myactivity.getResources().getString(R.string.changUrla); 

Wie könnte ich die richtige Antwort bekommen?

Ich habe zu diesem Thema mehr als einen Monat stecken.

Es werfen Nullpunkt Ausnahme wie folgt;

E/Android Runtime: FATAL AUSNAHME: Haupt Prozess: org.androidtown.realchangdeokgung, PID: 4560 java.lang.RuntimeException:

+1

Warum ist 'myactivity'' statisch'? –

+0

Bitte fügen Sie crashlog an, das Sie bekommen. –

+0

Eigentlich habe ich es nicht 100% verstanden ... Ich habe gerade im Internet nachgesehen. Wenn Sie etwas falsch gemacht haben, sagen Sie mir bitte, Bruder. – dalami0i

Antwort

0

Bitte versuchen Sie dies mein Freund

getResources().getString(R.string.yourstring) 

ODER verwenden Sie

getApplicationContext().getResources().getString(R.string.yourstring) 
+0

Vielen Dank mein Freund, aber ich habe es mehrmals getan ... Auch nicht funktioniert ..... – dalami0i

+0

dann können Sie nicht statisch methodgetApplicationContext(). GetResources(). GetString (R.string.yourstring) –

0

Verwenden Sie kein statisches Feld für Aktivität.

Wenn Sie unbedingt, dass die Verwendung mit Softreference Kontext benötigen statt Aktivität und bekommen Ressourcen wie folgt aus:

public class DonImageClass extends PagerAdapter{ 

.......... 
private SoftReference <Context> mContext; 
public DonImageClass(Context context){ 
    this.mContext = new SoftReference<Context>(context); 
} 

Context context = mContext.get(); 
if (context != null) { 
    String imageSource = context.getResources().getString(R.string.changUrla); 
} 
........... 

Können Sie beschreiben, was wollen Sie tun? Ich werde versuchen, Ihnen eine Lösung anzubieten.

+0

Ich möchte Ressource aus res/string holen und in URL (string) auf pageradter setzen. Ich habe mehrere Methoden ausprobiert, aber die meisten von ihnen werfen mir einen Nullpunkt aus ... (Ich habe deine Antwort noch nicht überprüft, mein Bruder.) – dalami0i

+0

Hmm .... Ich kann deine SoftReference nicht bekommen ... Was ist das? Soll ich eine andere Klasse als SoftReference erstellen? Wenn ja, was soll ich hineinlegen ?? – dalami0i

+0

importieren Sie java.lang.ref.SoftReference; –

0
String imageSource = myactivity.getResources().getString(R.string.changUrla); 

Durch den unten angegebenen Code ersetzen.

String imageSource = getResources().getString(R.string.changUrla); 
+0

Hmm ... Ich bin mir nicht sicher ... Wenn ich Kontext oder Aktivität lösche (zu diesem Zeitpunkt meineAktivität), bekomme ich eine rote Linie von androidstudio. Ist es möglich, richtig zu arbeiten? – dalami0i

Verwandte Themen