我在我的项目中使用Google Maps API v2 Android,我正在使用PlaceAutocomplete Predictions API来获取建议。我的问题是如何使建议看起来更具动态性,即当用户输入时,建议中与提供的输入相匹配的字母应该改变颜色,类似于谷歌地图,如下所示(这里是字母' n' ,' e'并且在建议中大胆说:)
getFullText(CharacterStyle matchStyle)
返回地点描述的全文。这是主要和次要文本的组合。例如:"埃菲尔铁塔,法国巴黎大道阿纳托尔大街"。此外,此方法还允许您使用CharacterStyle
突出显示与您选择的样式匹配搜索的描述部分。 CharacterStyle参数是可选的。如果您不需要任何突出显示,请将其设置为null。
但我无法在文档中找到有关如何使用CharacterStyle
实施getFullText(CharacterStyle)
的任何进一步解释,请提供帮助。提前致谢! :)
答案 0 :(得分:2)
private static final CharacterStyle STYLE_BOLD = new StyleSpan(Typeface.BOLD);
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = super.getView(position, convertView, parent);
// Sets the primary and secondary text for a row.
// Note that getPrimaryText() and getSecondaryText() return a CharSequence that may contain
// styling based on the given CharacterStyle.
AutocompletePrediction item = getItem(position);
TextView textView1 = (TextView) row.findViewById(android.R.id.text1);
TextView textView2 = (TextView) row.findViewById(android.R.id.text2);
textView1.setText(item.getPrimaryText(STYLE_BOLD));
textView2.setText(item.getSecondaryText(STYLE_BOLD));
return row;
}