Android中报错 FATAL EXCEPTION MAIN

Android中报错 FATAL EXCEPTION MAIN

出现这个问题的原因多半是因为所用到的资源没有找到:
这里写图片描述
例如:
1、资源引用错误

TabSpec spec2 = tabHost.newTabSpec("tab2");
spec1.setIndicator("通知公告");
spec1.setContent(R.id.tabNotification);
tabHost.addTab(spec2);

TabSpec spec3 = tabHost.newTabSpec("tab3");
spec1.setIndicator("培训资料");
spec1.setContent(R.id.tabFiles);
tabHost.addTab(spec3);

上面的代码是通过复制粘贴得到的,仔细检查发现,变量名没有更改完全,spec1重复使用。更改后的代码:

    TabSpec spec2 = tabHost.newTabSpec("tab2");
    spec2.setIndicator("通知公告");
    spec2.setContent(R.id.tabNotification);
    tabHost.addTab(spec2);

    TabSpec spec3 = tabHost.newTabSpec("tab3");
    spec3.setIndicator("培训资料");
    spec3.setContent(R.id.tabFiles);
    tabHost.addTab(spec3);

将spec1分别改为spec2和spec3。
很多时候我们在复制粘贴时容易犯这种细节性的错误。
2、在AndroidManifest.xml文件中没有找到对应的资源,这往往是由于在其他地方修改了资源名,但AndroidManifest.xml中并不会自动修改,所以AndroidManifest.xml中找不到对应的资源。
例如:
将之前的类名TongXunActivity改为TongXunPlatforActivity,但在AndroidManifest.xml中仍然保存的是TongXunActivity:

        <activity
            android:name=".TongXunformActivity"
            android:label="@string/title_activity_tong_xun" >
        </activity>

这样就找不到我们更改后的TongXunPlatforActivity。此时应该在AndroidManifest.xml中手动更改为:

        <activity
            android:name=".TongXunPlatformActivity"
            android:label="@string/title_activity_tong_xun" >
        </activity>

3、我们通过Eclipse的快捷方式新建的Activity,默认是保存在工程的默认包下面.
例如:com.whu.mobileoa
这里写图片描述
在AndroidManifest.xml中android:name选项也就以英语句号(.)来报名该Activity在默认包下面:

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >

但在实际开发中往往需要在子包中新建Activity:
这里写图片描述
这是还得需要在AndroidManifest.xml中更改这个Activity的位置,否则是无法找到这个Activity的:

        <activity                  android:name=".tongxunplatform.TongXunPlatformActivity"
            android:label="@string/title_activity_tong_xun" >
        </activity>

这里在英语句号(.)后添加的tongxunplatform就是子包名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值