【发布时间】:2014-07-07 12:34:54
【问题描述】:
我有一个列表视图和一个编辑文本。当我在编辑文本上书写时,我想显示以这些字母开头的列表视图。我正在向我的列表视图添加一个自定义适配器。
这是我的编辑文本 addTextChangedListener
getFriendsName.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
friends_available.setVisibility(View.VISIBLE);
adapter.getFilter().filter(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
这是我正在设置自定义适配器的列表视图
adapter = new GroupAvailableFriendsToAddAdapter((BaseActivity) getActivity(),
connectionsList);
friends_available.setAdapter(adapter);
这是我的适配器类
public class GroupAvailableFriendsToAddAdapter extends ArrayAdapter<ItemsAllPost> {
private BaseActivity _context;
private ArrayList<ItemsAllPost> data;
private LayoutInflater inflater = null;
private ItemsAllPost postData;
private String result;
@SuppressWarnings("unused")
private int count;
private TextView textView;
private ImageLoader imageLoader;
public GroupAvailableFriendsToAddAdapter(BaseActivity activity,
ArrayList<ItemsAllPost> connectionsList) {
super(activity, R.layout.group_avialable_friends_list_adapter, connectionsList);
_context = activity;
data = connectionsList;
count=connectionsList.size();
inflater = (LayoutInflater) _context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader = new ImageLoader(activity);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
ItemsAllPost items = data.get(position);
if (convertView == null) {
view = inflater.inflate(R.layout.group_avialable_friends_list_adapter,
null);
}
TextView FriendsName = (TextView) view
.findViewById(R.id.group_available_friendNameTV);
CircularImageView image_profile = (CircularImageView) view
.findViewById(R.id.group_available_friendImgCI);
FriendsName.setText(items.user_first_name);
imageLoader.DisplayImage(items.profile_image,
image_profile);
return view;
}
}
问题最初是列表视图显示列表,但是当我输入文本时,即使输入的文本与列表视图项目匹配,它也会隐藏,并且当我从编辑文本列表视图中删除文本时会显示回来。
我做错了什么?
任何帮助将不胜感激。
【问题讨论】:
-
粘贴您的 getfilter() 方法的代码 plz
-
我认为 getfilter 是 ArrayAdapter 的内置方法
-
在这里查看我的答案:stackoverflow.com/questions/23422072/…
标签: android search custom-lists