gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:53 26 4
gpt4 key购买 nike

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

我开始一个空项目,添加一个“空白” Activity 并接受所有默认设置。项目设置完成后,我添加一个“设置” Activity 。

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

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);
}

我发送应用程序进行调试,当我在操作栏上选择“设置”时,应用程序崩溃并显示:

android.content.res.Resources$NotFoundException: File res/drawable/ic_sync_black_24dp.xml from drawable resource ID #0x7f020049

我在虚拟图像上遇到了同样的错误,当我将 APK 发送到真实的物理设备并尝试查看设置 Activity 时。

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

如果我从 pref_headers.xml 文件中删除指定此图标的一行,项目构建正常,并且设置 Activity 有其他两个选择的图标,但没有 ic_sync_black_24dp.xml 图标。

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

    android:icon="@drawable/ic_sync_black_24dp"

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

<!-- These settings headers are only used on tablets. -->

<header
android:fragment="com.schramauto.anothertrial.SettingsActivity$GeneralPreferenceFragment"
android:icon="@drawable/ic_info_black_24dp"
android:title="@string/pref_header_general" />

<header
android:fragment="com.schramauto.anothertrial.SettingsActivity$NotificationPreferenceFragment"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/pref_header_notifications" />

<header
android:fragment="com.schramauto.anothertrial.SettingsActivity$DataSyncPreferenceFragment"
android:title="@string/pref_header_data_sync" />

在 res\drawable 中,添加设置 Activity 的向导添加了 3 个 xml 文件。所有 3 个都对我正确显示并显示有效的图标预览。

这是“好”xml ic_info_black_24dp.xml 的内容:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm1,15h-2v-6h2v6zm0,-8h-2V7h2v2z" />
</vector>

这是有问题的 XML (ic_sync_black_24dp.xml):

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24.0dp"
android:height="24.0dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01,-.25 1.97,-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0,-4.42,-3.58,-8,-8,-8zm0 14c-3.31 0,-6,-2.69,-6,-6 0,-1.01.25,-1.97.7,-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4,-4,-4,-4v3z" />
</vector>

同样,我已经尝试了大约 15 次(创建全新项目并连接两个 Activity ),重新启动,搜索谷歌,搜索这里,但我无法弄清楚向导放置的 ic_sync_black_24dp.xml 有什么问题在我的项目中。

由于我假设这可能是我的 IDE 或我的本地构建配置中的环境问题,所以这里有一些关于我的设置的高级细节:Windows 10、Android Studio 1.5、JRE 1.8.0

最佳答案

似乎问题出在 API 21 上,提到的 24.0dp 并没有为我解决问题,而是我收到了:

E/PathParser: error in parsing "c-3.31 0,-6,-2.69,-6,-6 0,-1.01.25,-1.97.7,-2.8"

我在 https://github.com/google/material-design-icons/issues/225 找到了答案

事实证明,pathData is invalid 无法在 API 21 中正确解析(该问题在 API 22 或 23 中不存在)。只需将 pathData 替换为:

android:pathData="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01,-.25 1.97,-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0,-4.42,-3.58,-8,-8,-8zm0 14c-3.31 0,-6,-2.69,-6,-6 0,-1.01 .25,-1.97 .7,-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4,-4,-4,-4v3z"

关于ic_sync_black_24dp.xml 的 android.content.res.Resources$NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34020222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com