gpt4 book ai didi

android - 如何更改 android 中填充的 ListView 项目的字体

转载 作者:行者123 更新时间:2023-11-29 17:56:15 24 4
gpt4 key购买 nike

我的 Activity 中有一个 ListView (其项目中有一个 TextView )和一个按钮。我正在使用加载器机制将数据加载到 ListView 中。我正在点击按钮开始应用程序的设置 Activity 。用户可以在设置屏幕中更改字体类型和大小。我正在从首选项中获取更改的字体值,并将其设置为自定义适配器类的 bindView() 方法内的 TextView 。但是只有当我再次开始 Activity 时,我才能在 ListView 中看到更改后的字体。用户从设置屏幕单击后退按钮后,如何将更改的字体大小和类型应用于 ListView 项目?如何刷新我的 ListView 以仅更改字体?请指导我。

我尝试了下面的方法来刷新 ListView ,但它没有用,因为它仅在适配器数据集更改时通知。

@Override
public void onResume() {
super.onResume();
adapter.notifyDataSetChanged();
}

最佳答案

改变字体后调用此方法。在此参数中,“v”是您的 ListView 或 ListView 父级,“f”是方法中的字体。

    /**
* To apply custom font for whole activity
*/
public static void applyFontForWholeActivity(final View v) {
// Typeface fontToSet = Typeface.createFromAsset(v.getContext()
// .getAssets(), "fonts/EUROSTILE_BOLD.TTF");

try {
if (v instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) v;
for (int i = 0; i < vg.getChildCount(); i++) {
View child = vg.getChildAt(i);
applyFontForWholeActivity(child);
}
} else if (v instanceof TextView) {
TextView tv = (TextView) v;
tv.setTypeface(ActivityUtils.fontToSetGlobal);
}
} catch (Exception e) {
e.printStackTrace();
// ignore
}
}

关于android - 如何更改 android 中填充的 ListView 项目的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135488/

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