gpt4 book ai didi

android - 针对 Android 4.3 时出现奇怪的 XML 布局错误

转载 作者:太空狗 更新时间:2023-10-29 12:45:27 27 4
gpt4 key购买 nike

在以 API 级别 18 为目标构建我的应用程序时,我遇到了 XML 布局文件的一个非常特殊的错误。API 级别 17 不会发生这种情况。我在 Android 4.3 设备上运行该应用程序,该错误在所有三台设备上都存在。

这是它的样子:

API 17(正确):

API 17

API 18(不正确):

API 18

我正在使用 StickyGridHeaders library ,下面是我的 getHeaderView() 方法:

@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
RowItem holder;

if (convertView == null) {
convertView = inflater.inflate(R.layout.seasons_row_header, parent, false);
holder = new RowItem();
holder.title = (TextView) convertView.findViewById(R.id.seasonTitle);
holder.episodeCount = (TextView) convertView.findViewById(R.id.episodeCount);
convertView.setTag(holder);
} else {
holder = (RowItem) convertView.getTag();
}

if (seasons.get(position).equals("00")) {
holder.title.setText(R.string.stringSpecials);
} else {
holder.title.setText(getString(R.string.showSeason) + " " + seasons.get(position));
}

int size = seasonEpisodeCount.get(Integer.valueOf(seasons.get(position)));
holder.episodeCount.setText(size + " " + getResources().getQuantityString(R.plurals.episodes, size, size));

convertView.setClickable(false);
convertView.setFocusable(false);

return convertView;
}

这是布局 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#80000000"
android:padding="@dimen/list_padding" >

<TextView
android:id="@+id/seasonTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginRight="@dimen/list_padding"
android:layout_toLeftOf="@+id/episodeCount"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textIsSelectable="false"
android:textStyle="bold" />

<TextView
android:id="@+id/episodeCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/seasonTitle"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/seasonTitle"
android:gravity="bottom"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textIsSelectable="false" />

</RelativeLayout>

还有其他人知道这里发生了什么吗?我觉得很奇怪,它在针对 API 级别 17 时有效,而在针对最新 API 级别 (18) 时无效。

更新:

这是在以 Android 4.3 为目标的可视化布局编辑器中的样子:

Visual layout editor

最佳答案

我设法自己解决了这个问题。

正如我所说,我正在使用 StickyGridHeaders 库并在我的应用程序中引用它。该库似乎以 API 级别 17 为目标。我将其更改为级别 18,编译并运行应用程序 - 非常成功!

总结:确保您的应用程序和库面向相同的 API 级别。

关于android - 针对 Android 4.3 时出现奇怪的 XML 布局错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18751118/

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