小编Bar*_*onz的帖子

ic_sync_black_24dp.xml的android.content.res.Resources $ NotFoundException

我已经挣扎了一个多星期了,因为我觉得它必须与我的环境有关,但我无法缩小范围.

我启动一个空项目,添加一个"空白"活动并接受所有默认值.项目完成设置后,我添加了"设置"活动.

在MainActivity.java中,我添加了两行代码来连接这两个活动,然后构建项目.

public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {

        Intent intent = new Intent(this, SettingsActivity.class);
        startActivity(intent);

        return true;
    }

    return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)

我将应用程序发送到调试,当我在操作栏上选择"设置"时,应用程序崩溃:

android.content.res.Resources$NotFoundException: File res/drawable/ic_sync_black_24dp.xml from drawable resource ID #0x7f020049
Run Code Online (Sandbox Code Playgroud)

我在虚拟映像上得到同样的错误,当我将APK发送到真实的物理设备并尝试查看设置活动时.

我已经多次开始新的和干净的项目,每个项目都得到相同的结果.我尝试过干净的构建,我尝试删除了R.java的东西.当我查看项目中的res/drawable/ic_sync_black_24dp.xml(由添加新活动向导创建)时,我可以看到图标,一切看起来都很正常.

如果我从pref_headers.xml文件中删除指定此图标的一行,则项目构建正常,并且settings活动具有其他两个选项的图标,但不包含ic_sync_black_24dp.xml图标.

这是我必须从pref_headers.xml手动删除的行:

    android:icon="@drawable/ic_sync_black_24dp"
Run Code Online (Sandbox Code Playgroud)

所以这是我的有效pref_headers.xml文件:

<!-- These settings …
Run Code Online (Sandbox Code Playgroud)

android android-layout

12
推荐指数
1
解决办法
3006
查看次数

标签 统计

android ×1

android-layout ×1