我的目标
发送电子邮件时,要像gmail一样创建联系人选择器(左侧带有圆形图像)。我已经进行了一些研究,找到了EditText云和Chip Cloud,但是它们不支持自定义布局中的图像,并且适配器仅接受List<String>
。有人对如何实现此目标有正确的想法,还是使用库来实现这一目标。
提前致谢。
最佳答案
我建议您使用TokenAutoComplete
public class ContactsCompletionView extends TokenCompleteTextView<Person> {
public ContactsCompletionView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected View getViewForObject(Person person) {
LayoutInflater l = (LayoutInflater) getContext().getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
TextView view = (TextView) l.inflate(R.layout.contact_token, (ViewGroup) getParent(), false);
view.setText(person.getEmail());
return view;
}
@Override
protected Person defaultObject(String completionText) {
//Stupid simple example of guessing if we have an email or not
int index = completionText.indexOf('@');
if (index == -1) {
return new Person(completionText, completionText.replace(" ", "") + "@example.com");
} else {
return new Person(completionText.substring(0, index), completionText);
}
}
}
输出: