Ошибка getResource

Каждый раз, когда я вызываю getResources в своем основном действии, это приводит к ошибке, и приложение вынуждено прекращать работу. Это также происходит, если я вызываю getApplicationContext (). GetResources () и даже в совершенно новом проекте в Eclips. Нужно ли мне что-либо делать до звонка? Ошибка при AVD с Android 2.1 и LG GW620 с OpenEtna (2.1)

MainActivity.java:

package com.robin.blatest; import android.app.Activity; import android.content.res.Resources; import android.os.Bundle; public class MainActivity extends Activity { Resources res = this.getResources(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 

manifest.xml:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.robin.blatest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.robin.blatest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

LogCat:

 W/dalvikvm( 229): threadid=3: thread exiting with uncaught exception (group=0x4001b188) E/AndroidRuntime( 229): Uncaught handler: thread main exiting due to uncaught exception E/AndroidRuntime( 229): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.robin.blatest/com.robin.blatest.MainActivity}: java.lang.NullPointerException E/AndroidRuntime( 229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) E/AndroidRuntime( 229): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) E/AndroidRuntime( 229): at android.app.ActivityThread.access$2200(ActivityThread.java:119) E/AndroidRuntime( 229): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) E/AndroidRuntime( 229): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 229): at android.os.Looper.loop(Looper.java:123) E/AndroidRuntime( 229): at android.app.ActivityThread.main(ActivityThread.java:4363) E/AndroidRuntime( 229): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 229): at java.lang.reflect.Method.invoke(Method.java:521) E/AndroidRuntime( 229): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) E/AndroidRuntime( 229): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) E/AndroidRuntime( 229): at dalvik.system.NativeStart.main(Native Method) E/AndroidRuntime( 229): Caused by: java.lang.NullPointerException E/AndroidRuntime( 229): at android.content.ContextWrapper.getResources(ContextWrapper.java:80) E/AndroidRuntime( 229): at com.robin.blatest.MainActivity.<init>(MainActivity.java:9) E/AndroidRuntime( 229): at java.lang.Class.newInstanceImpl(Native Method) E/AndroidRuntime( 229): at java.lang.Class.newInstance(Class.java:1479) E/AndroidRuntime( 229): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) E/AndroidRuntime( 229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409) E/AndroidRuntime( 229): ... 11 more 

Приветствие Робин

Изменить : добавлен код

Вы не можете сделать

 Resources res = this.getResources(); 

В полевой декларации. В этот момент это не так!

onCreate этого поставьте его в onCreate .

Вы бы сделали что-то вроде:

 private Resources res = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); res = this.getResources(); } 

Если вам нужно поле, содержащее эти данные.

Но это так же легко сделать this.getResources() всякий раз, когда вам это нужно.

Метод getResources() – это метод из класса Context .

Когда в Activity вы можете использовать this для доступа к нему.

Но вы должны показать нам некоторые из вашего кода.