gpt4 book ai didi

android - 使用 Android 首选项标题时如何插入一些文本,如版本号

转载 作者:行者123 更新时间:2023-11-29 17:54:57 27 4
gpt4 key购买 nike

我以为我的要求很简单......现在我把头发扯秃了。

我正在为我的应用程序创建一个设置页面并使用 recommended preferences-headers方法。

我需要做的就是在底部添加我的应用程序的版本号,这样它就不可点击或者至少是灰色的。

它甚至不一定是页脚。它可能是我列表中的最后一个偏好,但我需要一种方法来表明它不是按钮(可点击)和/或被禁用(灰色)。

我已经花了将近 8 个小时,但要做到这一点并不容易 :(

这是我用来添加版本号的代码:

public class SettingsActivity extends PreferenceActivity {

...

@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.settings_headers, target);
addAppVersionNumberHeader(target);
}

...

private void addAppVersionNumberHeader(List<Header> target) {
Header versionNumberHeader = new Header();
StringBuilder versionInfo = new StringBuilder(getMyAppVersionNumberFromSomewhere());

versionNumberHeader.title = versionInfo.toString();

target.add(versionNumberHeader);
}

...

}

因为我是以编程方式添加它,所以我的首选项头文件是普通的旧的简单 xml,并且不做任何与我的版本号相关的事情:

<!-- This file is res/xml/settings_headers.xml -->
<?xml version="1.0" encoding="utf-8"?>

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">

<header
android:fragment="com.example.com.fragments.SettingsNotificationFragment"
android:title="@string/settings_notifications">
</header>

<!-- bunch of other similar headers -->

</preference-headers>

我有哪些选择?

FWIW:这是我到目前为止尝试过的:

create an independent layout xml

问题:我用这种方法得到了要显示的版本号,但是如果我单击版本号,我得到一个索引越界异常,我猜这是因为我添加了一个首选项,而实际上我应该添加一个标题。

最佳答案

It doesn't necessarily have to even be a footer

但它可以,对吧?尝试以下操作:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView tv = new TextView(this);
tv.setText(getVersionNumber());
setListFooter(tv);
}

private String getVersionNumber() {
String versionNumber = "v3.12";
// lots of code that gets the actual version number
return "Version (latest and greatest): ".concat(versionNumber);
}

关于“索引越界异常”的特定错误,我想,您需要覆盖 setListAdapter() 方法并在那里添加新的 header 。

关于android - 使用 Android 首选项标题时如何插入一些文本,如版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20062491/

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