繁体   English   中英

AndroidAnnotations未找到活动

[英]Activity not found with AndroidAnnotations

嗨,我添加了AndroidAnnotations并对其进行了配置; 它使用下划线_作为后缀生成活动,但是当我尝试在应用程序中午餐时,它会出现此错误

   05-26 04:17:23.524: E/AndroidRuntime(5096): java.lang.RuntimeException: 
   Unable to instantiate activity
   ComponentInfo{android_app.candgo/android_app.candgo.HelloAndroidActivity_}:  
   java.lang.ClassNotFoundException: Didn't find class
   "android_app.candgo.HelloAndroidActivity_"    
   on path: /data/app/android_app.candgo-1.apk

关于它为什么不起作用的任何建议

PD:我的ADT v22 PD:我在清单上注册了HelloAndroidActivity_

这是我的manifest.xml(抱歉延迟)

  <uses-sdk android:minSdkVersion="8"
            android:targetSdkVersion="16" />

  <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="MainActivity_">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
</manifest>

您需要将“.apt_generated”或AA输出的文件夹添加到源目录列表中。 在Android Studio中,您可以在项目设置 - >模块 - > module_in_question - > Sources中找到它

你需要在manifest.xml中注册活动类(AndroidAnnotations),如: <activity android:name = "com.your.packageName" android:screenOrientation="portrait" android:configChanges = "orientation"/>
然后你可以使用它。

检查清单文件以获取活动的条目。 检查名称。

如果您将ADT更新为rev 22.您可以在更改项目中的任何内容但升级eclipse android sdk之后尝试此java.lang.ClassNotFoundException

检查清单中的包名称

    <manifest package="com.example.mypackaganame" //check the name

在应用程序标记下检查活动条目

    <activity
        android:name="com.example.mypackaganame.MainActivity"
        // this is the main activity
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

假设您有第二个活动。 这是你如何声明隐式意图

     <activity
        android:name="com.example.mypackaganame.SecondActivity"
        // this is the Second activity
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="com.example.mypackaganame.SecondActivity" />

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

敌人明确意图

      <activity
        android:name=".SecondActivity"
        // this is the Second activity
        android:label="@string/app_name" >
    </activity>           

如果您使用的是Eclipse,请执行以下步骤:

步骤1.转到Java Compiler并确保将Compiler compliance level设置为1.6,否则将不会激活处理器

步骤2.转到Java Compiler > Annotation Processing并选择Enable annotation processing

步骤3.转到Java Compiler > Annotation Processing > Factory Path并添加处理器JAR: androidannotations-XXXjar。

步骤4确认工作区重建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM