在Android中创建与Facebook相同的标记评论系统。 在评论部分,如果我们插入@并键入然后显示朋友的列表。并选择一个朋友。我希望这种评论系统与facebook相同。
答案 0 :(得分:1)
您可以设置TextWatcher,只要EditText中的文本发生更改,就会触发该TextWatcher。然后,在找到@后可以使用正则表达式查看是否有任何@name后跟空格。如果有,您可以弹出另一个UI元素,显示与特定正则表达式匹配的朋友的ListView。这是我想出的一个例子:
// Declare listening as a member variable
commentInput.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
// Listen until space
String text = charSequence.toString();
if (text.contains("@")) {
listening = true;
int index = text.split("@").length;
String textToSearchFor = text.split("@")[index];
// Use textToSearchFor to search for friends,
// and if you get results then set a UI element
// to appear: listView.setVisibility(View.VISIBLE);
// on click of ListView element, stop listening
} else if (text.substring(0, text.length() - 1).equals(" ")) {
// If the latest character is a space, then stop listening
listening = false;
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});