2012-07-19 19 views
5

प्रारंभ करते समय getapplicationContext() पर Java.lang.NullPointerException एंड्रॉइड एमुलेटर पर प्रोजेक्ट चलाते समय, मुझे अपवाद का सामना करने के लिए java.lang.NullPointerException getApplicationContext. कृपया इस समस्या को हल करने में मेरी सहायता करें।एडाप्टर

त्रुटि

07-19 15:08:07.811: D/AndroidRuntime(366): Shutting down VM 
07-19 15:08:07.811: W/dalvikvm(366): threadid=1: thread exiting with uncaught exception (group=0x4001d800) 
07-19 15:08:07.841: E/AndroidRuntime(366): FATAL EXCEPTION: main 
07-19 15:08:07.841: E/AndroidRuntime(366): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.TfsMutualFund/org.TfsMutualFund.loading}: java.lang.NullPointerException 
07-19 15:08:07.841: E/AndroidRuntime(366): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
07-19 15:08:07.841: E/AndroidRuntime(366): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 

07-19 15:08:07.841: E/AndroidRuntime(366): Caused by: java.lang.NullPointerException 
07-19 15:08:07.841: E/AndroidRuntime(366): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:100) 
07-19 15:08:07.841: E/AndroidRuntime(366): at org.TfsMutualFund.loading.<init>(loading.java:23) 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="org.TfsMutualFund"> 
<uses-sdk android:targetSdkVersion="8" /> 

<application android:name=".globalAdapter" android:icon="@drawable/icon" android:label="@string/app_name"> 

    <activity android:name=".loading" 
       android:label="@string/app_name" 
       android:theme="@android:style/Theme.NoTitleBar" 
       android:configChanges="orientation|keyboard|keyboardHidden"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".TFSManinActivity" 
    android:configChanges="orientation|keyboard|keyboardHidden"/> 
</application> 

loading.java

package org.TfsMutualFund; 

public class loading extends Activity{ 
private static ArrayAdapter<String> adapter; 
private globalAdapter adpt = ((globalAdapter)getApplicationContext()); 
private String ServicePath = adpt.getServicePath(); 
private String ServiceName = adpt.getServiceName(); 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loading); 
if(isOnline()) 
    new AsyncLoad().execute(); 
else 
+0

आप अपनी लोडिंग गतिविधि में getAplicationContext() को कॉल करने के बजाय बस "इस" का उपयोग कर सकते हैं – pixelscreen

+0

सबकुछ पोस्ट न करें। कोड के ब्लॉक को पोस्ट करें जहां इसकी त्रुटि हो रही है !!! –

+0

और उन शुरुआतीकरण को क्रिएट() में भी करें और इससे पहले नहीं! – pixelscreen

उत्तर

11

OnCreate() से पहले इसे प्रारंभ न करें, आप वहां से संदर्भ नहीं प्राप्त कर सकते हैं, इसे onCreate() में करें।

private globalAdapter adpt; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loading); 
    adpt = ((globalAdapter)getApplicationContext()); 
    ... 
} 
+1

डाउन-वोट के लिए कोई कारण? –

+0

धन्यवाद ललित। लेकिन ऑनक्रेट विधि में इसे प्रारंभ करने के बाद यह एक ही त्रुटि दिखाता है। – Mahavir

+0

क्या आपने 'निजी ग्लोबल एडाप्टर adpt = ((globalAdapter) getAplicationContext()) हटा दिया है, 'वैश्विक के रूप में? –

2

1. न onCreate करने से पहले नीचे से प्रारंभ, विचार उनके आईडी पहले

private globalAdapter adpt = ((globalAdapter)getApplicationContext()); 
private String ServicePath = adpt.getServicePath(); 
private String ServiceName = adpt.getServiceName(); 

2. बस उन्हें घोषित मिलता है ....

private globalAdapter adpt; 
private String ServicePath; 
private String ServiceName; 

3. इसकी वजह यह है कि जब गतिविधि नहीं बनाई जाती है, तो आप कॉन कैसे प्राप्त कर सकते हैं उस गतिविधि को टेक्स्ट करें, क्योंकि आप वर्तमान गतिविधि संदर्भ प्राप्त करने के लिए getApplicationContext() का उपयोग कर रहे हैं।

+0

धन्यवाद Xitij, लेकिन इसे ऑनक्रेट() विधि में शुरू करने के बाद भी यह एक ही त्रुटि दिखाता है .. – Mahavir

संबंधित मुद्दे