【问题标题】:FATAL ERROR : main have you declared this activity in your AndroidManifest.xml?致命错误:您是否在 AndroidManifest.xml 中声明了此活动?
【发布时间】:2015-05-15 03:09:12
【问题描述】:

我收到以下错误:

致命错误:您主要在您的 AndroidManifest.xml?

我不知道如何声明我的活动。这是我的 androidmanifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.androidhive.slidingmenu"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="info.androidhive.slidingmenu.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>
        <activity 
            android:name="info.androidhive.slidingmenu.speak1"/>
    </application>
<uses-permissions></uses-permissions>
</manifest>

我应该把我的活动声明放在哪里?这是我的 speak1.java *我已经编辑了我的 speak1.java

package info.androidhive.slidingmenu;    
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class speak1 extends Activity { 
     @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.speak1);     
     }
     }

【问题讨论】:

  • 显示完整的 log-cat 结果
  • 除了MainActivity还有什么活动?
  • speak1 没有扩展任何东西。只需使用Activity 扩展它。
  • 发布完整的 logcat 最初看起来一切都很好

标签: android android-intent android-fragments


【解决方案1】:

在日志中没有声明 AndroidManifest.xml 中的 speak1 活动。使用activity 属性在Manifest 中添加speak1 Activity:

 <activity
        android:name="info.androidhive.slidingmenu.speak1" />

编辑:

public class speak1 extends Activity { 
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.speak1);     
 }

【讨论】:

  • 但是,它不起作用日志猫说 05-15 10:35:58.479: E/AndroidRuntime(533): FATAL EXCEPTION: main 05-15 10:35:58.479: E/ AndroidRuntime(533):java.lang.RuntimeException:无法实例化活动 ComponentInfo{info.androidhive.slidingmenu/info.androidhive.slidingmenu.speak1}:java.lang.ClassCastException:info.androidhive.slidingmenu.speak1 无法转换为 android .app.Activity 05-15 10:35:58.479: E/AndroidRuntime(533): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
  • @SiskaVadilah:在日志中添加&lt;activity android:name="info.androidhive.slidingmenu.speak1" /&gt;
  • @SiskaVadilah: 并且 id 仍然无法正常工作,然后发布更新 AndroidManifest.xmlPagesFragment$1.onClick 方法代码
  • @SiskaVadilah: 什么是speak1 classes 这个类是扩展 Activity 还是 Fragment ?
  • @SiskaVadilah:请更新所有有问题的代码,而不是发表评论
【解决方案2】:

根据您的错误,您应该在清单文件中声明为活动 speak1。 然后清理并构建您的项目。

确保 seat1 也扩展了 Activity。

【讨论】:

    【解决方案3】:

    当看到你的 Logcat 他们是 ClassCastException 来了。 这意味着您正在投射不正确的东西。 转换意味着更改数据类型,例如将 int 转换为字符串或类似的东西。 你应该发布你的整个代码。 请检查与铸造有关的任何事情 希望这能解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 2016-09-14
      • 2015-03-29
      • 2019-02-27
      • 2020-01-22
      • 2015-02-28
      相关资源
      最近更新 更多