0

我有这个问题,当我运行的代码(由意向):的Android 2.2:使用了java.lang.RuntimeException意图时

5月8日至28日:30:11.785:E/AndroidRuntime( 27529):致命例外:main 08-28 05:30:11.785:E/AndroidRuntime(27529): java.lang.RuntimeException:无法实例化活动 ComponentInfo {com.tnf.timetolunch/com.tnf.timetolunch。 RestaurantListActivity}: java.lang.NullPointerException 08-28 05:30:11.785: E/AndroidRuntime(27529):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1618) 08-28 05:30:11.785:E/AndroidRuntime(27529):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716) 08-28 05:30:11.785:E/AndroidRuntime(27529)在 android.app.ActivityThread.access $ 1500(ActivityThread.java:124)08-28 05:30:11.785:E/AndroidRuntime(27529):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java: 968) 08:05:30:11.785:E/AndroidRuntime(27529):at android.os.Handler.dispatchMessage(Handler.java:99)08-28 05:30:11.785:E/AndroidRuntime(27529 ):at android.os.Looper.loop(Looper.java:130)08-28 05:30:11.785: E/AndroidRuntime(27529):at android.app.ActivityThread.main(ActivityThread.jav a:3806)08-28 05:30:11.785:E/AndroidRuntime(27529):at java.lang.reflect.Method.invokeNative(Native Method)08-28 05:30:11.785:E/AndroidRuntime 27529):at java.lang.reflect.Method.invoke(Method.java:507)08-28 05:30:11.785: E/AndroidRuntime(27529):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839) 08-28 05:30:11.785:E/AndroidRuntime(27529):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)08-28 E/AndroidRuntime(27529):at dalvik.system.NativeStart.main(本地方法)08-28 05:30:11.785: E/AndroidRuntime(27529):引起:java.lang .NullPointerException 5月8日至28日:30:11.785:E/AndroidRuntime(27529):在 android.content.ContextWrapper.getPackageName(ContextWrapper.java:127) 5月8日至28日:30:11.785:E/AndroidRuntime(27529): at android.app.Activity.getLocalClassName(Activity.java:3558)08-28 05:30:11.785:E/AndroidRuntime(27529):at android.app.Activity.getPreferences(Activity.java:3592)08 -28 05:30:11.785:E/AndroidRuntime(27529):at com.tnf.timetolunch.RestaurantListActivity。(RestaurantListActivity.java:18) 08-28 05:30:11.785:E/AndroidRuntime(27529)在 java.lang.Class.newInstanceImpl(Native Method)08-28 05:30:11.785: E/AndroidRuntime(27529):at java.lang.Class.newInstance(Class.java:1409 )08-28 05:30:11.785: E/AndroidRuntime(27529):at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 08-28 05:30:11.785:E/AndroidRuntime(27529) :在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1610) 5月8日至28日:30:11.785:E/AndroidRuntime(27529):...11多

我试图查找类似的错误,看看别人是如何解决他们的问题,我的清单看起来OK(或者至少我的活动注册):

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.tnf.timetolunch" 
    android:versionCode="1" 
    android:versionName="@string/app_name" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 

    <application 
     android:name="App" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".RestaurantListActivity" 
      android:label="@string/title_activity_restaurants" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

从我的MainActivity代码:

Intent i = new Intent(this, RestaurantListActivity.class); 
startActivity(i); 

我第一次在这里发帖,希望我会幸运的。 感谢

+0

是你的restaurantlistactivity包路径com.tnf.timetolunch.RestaurantListActivity? – Jianhong

+0

赞同@Jianhong –

回答

0

的问题是,你有2个activitys与主要意图应该只有一个MainActivity,我建议你只使用一个发射活动

+0

是的你是对的 – Jianhong

+1

我认为这不应该产生问题.. –

+0

android api以这种方式工作,它为您的应用程序有一个lancher Activity和一个mainActivity所有后续活动应该从其他活动中调用之后调用它 –

2

的意图看起来不错。 RestaurantListActivity正在按预期启动。这个问题似乎是在其初始化过程中:

E/AndroidRuntime(27529): Caused by: java.lang.NullPointerException 
08-28 05:30:11.785: E/AndroidRuntime(27529): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:127) 
08-28 05:30:11.785: E/AndroidRuntime(27529): at android.app.Activity.getLocalClassName(Activity.java:3558) 
08-28 05:30:11.785: E/AndroidRuntime(27529): at android.app.Activity.getPreferences(Activity.java:3592) 

08-28 05:30:11.785: E/AndroidRuntime(27529): at com.tnf.timetolunch.RestaurantListActivity.(RestaurantListActivity.java:18) 
08-28 05:30:11.785: E/AndroidRuntime(27529): at java.lang.Class.newInstanceImpl(Native Method) 08-28 05:30:11.785: E/AndroidRuntime(27529): at java.lang.Class.newInstance(Class.java:1409) 08-28 05:30:11.785: E/AndroidRuntime(27529): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
08-28 05:30:11.785: E/AndroidRuntime(27529): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1610) 
08-28 05:30:11.785: E/AndroidRuntime(27529): ... 11 more 

我不知道你的RestaurantListActivity类中是否有构造函数? 如果是这样,你不应该做任何上下文相关的初始化在那里......在你的MainActivity

+0

我不知道,但其他答案解决了我的问题!不管怎么说,还是要谢谢你 – Vivigeos

0

使用

<activity 
     android:name=".RestaurantListActivity" 
     android:label="@string/title_activity_restaurants" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

<activity 
     android:name=".RestaurantListActivity" 
     android:label="@string/title_activity_restaurants" >   
    </activity> 

代替

​​
相关问题