마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

EditText 글자 입력시 자동검색 기능 질문

0 추천
public class bodylistadapter extends BaseAdapter implements Filterable {

		public LayoutInflater mInflater;
		public Filter valueFilter;

		public bodylistadapter(Context context) {
			mInflater = LayoutInflater.from(context);
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return cnt;
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return mFileNames.get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position;
		}

		@Override
		public Filter getFilter() {
			if (valueFilter == null) {
				valueFilter = new ValueFilter();
			}

			return valueFilter;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {

			if (convertView == null) {
				convertView = mInflater.inflate(R.layout.search_list_items,
						parent, false);
			}

			return convertView;
		}
	}

	class ValueFilter extends Filter {

		@Override
		protected FilterResults performFiltering(CharSequence constraint) {
			FilterResults results = new FilterResults();

			if (constraint != null && constraint.length() > 0) {
				List<SearchListCheck> filterList = new ArrayList<SearchListCheck>();

				// for (RosterContact contact : _contacts) {
				// if (contact.getName().contains(constraint)
				// || contact.getPhoneNumber().contains(constraint)) {
				// SearchListCheck item = new SearchListCheck();
				// item.Type = SearchListCheck.TYPE_ITEM;
				// item.Item = contact;
				// filterList.add(item);
				// }
				// }
				search_select();

				results.count = filterList.size();
				results.values = filterList;
			} else {
				results.count = mFileNames.size();
				results.values = mFileNames;
			}

			return results;
		}

		@Override
		protected void publishResults(CharSequence constraint,
				FilterResults results) {

			mFileNames = (List<SearchListCheck>) results.values;
			adapter.notifyDataSetChanged();

		}
	}

위와같이 리스트뷰에 어뎁터를 연결시켜주었습니다

EditText에 글자를 입력시 자동으로 리스트를 검색해주는 기능을 만들고있습니다 

어뎁터에 필터를 작동시키면된다는데 ValueFilter 에 어떤식으로 불러오기 기능을 추가하여야되는지 조언 부탁드립니다

WelchsKiller (600 포인트) 님이 2014년 9월 23일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...