gpt4 book ai didi

android - 替换 Android 中 Uri.Builder 中的查询参数?

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:57 26 4
gpt4 key购买 nike

我传递一个 Uri.Builder 对象作为子类在 Android 中执行之前将任何必要参数填充到 Uri 中的机制。

问题是,基类使用 builder.appendQueryParameter("q",searchPhrase); 添加的参数之一需要在子类中替换,但我只能找到 appendQueryParameter(),没有替换或设置方法。具有相同参数名称的 appendQueryParameter() 添加另一个参数实例,而不是替换它。

我应该放弃并尝试另一种方式吗?或者有没有办法替换我还没有找到的查询参数?

最佳答案

由于没有内置方法,我找到的最佳方法是构建一个新的 Uri。您遍历旧 Uri 的所有查询参数,然后用新值替换所需的键。

private static Uri replaceUriParameter(Uri uri, String key, String newValue) {
final Set<String> params = uri.getQueryParameterNames();
final Uri.Builder newUri = uri.buildUpon().clearQuery();
for (String param : params) {
newUri.appendQueryParameter(param,
param.equals(key) ? newValue : uri.getQueryParameter(param));
}

return newUri.build();
}

关于android - 替换 Android 中 Uri.Builder 中的查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28897747/

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