大佬教程收集整理的这篇文章主要介绍了android – 如何在自定义列表视图中搜索,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的Main_Activity.Java代码
array111.add(new AshTable(test1,test2,test3,test4,test5,test6,test7,test8,test9,test10,test11,test12,test13,test14,test15,test16,test17,test18,test19,test20,test21,test22,test23,test24,test25,test26,test27,test28,test29,test30,test31,test32,test33,test34,test35,test36,test37,test38,test39,test40,test41,test42)); } } catch (JSONException E) { e.printStackTrace(); } final CustomListViewAdapter adapter = new CustomListViewAdapter(getActivity(),R.layout.home_list_view,array111); lstv11.setAdapter(adapter); inputSearch.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub String text = inputSearch.getText().toString().toLowerCase(Locale.getDefault()); adapter.filter(text); } @Override public void beforeTextChanged(CharSequence arg0,int arg1,int arg2,int arg3) { // TODO Auto-generated method stub } @Override public void ontextChanged(CharSequence arg0,int arg3) { // TODO Auto-generated method stub } }); mSwiperefreshLayout.setrefreshing(false); } }
这是我的CustomListViewAdapter.java代码
公共类CustomListViewAdapter extends ArrayAdapter实现Filterable {
ArrayList<AshTable> prod; Context context; int resource; public CustomListViewAdapter(Context context,int resource,ArrayList<AshTable> prod) { super(context,resource,prod); this.context=context; this.resource=resource; this.prod=prod; } @Override public View getView(int position,View convertView,ViewGroup parent){ if(convertView==null){ LayoutInflater layoutInflater=(LayoutInflater)getContext().getSystemservice(Activity.LAYOUT_INFLATER_serviCE); convertView=layoutInflater.inflate(R.layout.list_view,null,truE); } AshTable pro=getItem(position); final String st1=pro.getCompname(); final String st2=pro.getPersonname(); final String st3=pro.getAddress(); final String st4=pro.getMailid(); final String st5=pro.getMob1(); final String st6=pro.getMob2(); final String st7=pro.getShowname(); final String st8=pro.getDispatchdate(); final String st9=pro.getDispatchtime(); final String st10=pro.getStatedate(); final String st11=pro.getStarttime(); final String st12=pro.getSetupdate(); final String st13=pro.getSetuptime(); final String st14=pro.getEnddate(); final String st15=pro.getEndtime(); final String st16=pro.getDismanteldate(); final String st17=pro.getDismanteltime(); final String st18=pro.getVenu(); final String st19=pro.getVenuaddress(); final String st20=pro.getBoardsize(); final String st21=pro.getOverallsqft(); final String st22=pro.getRatepersqft(); final String st23=pro.get@R_439_10586@lamt(); final String st24=pro.getTransport(); final String st25=pro.getStage(); final String st26=pro.getPower(); final String st27=pro.getOthercost1(); final String st28=pro.getOthercost2(); final String st29=pro.getGrossamt(); final String st30=pro.getBillrequired(); final String st31=pro.getBillinnameof(); final String st32=pro.getserviCETax(); final String st33=pro.get@R_439_10586@lamt2(); final String st34=pro.getAdvanceamt(); final String st35=pro.getCreditperiod(); final String st36=pro.getPhotoname(); final String st37=pro.getPhotomob(); final String st38=pro.getPhotoemail(); final String st39=pro.getMarkeTingname(); final String st40=pro.getREMARK(); TextView txt1=(TextView)convertView.findViewById(R.id.textView11); txt1.setText(pro.getPersonname()); TextView txt2=(TextView)convertView.findViewById(R.id.textView22); txt2.setText(pro.getMob1()); TextView txt3=(TextView)convertView.findViewById(R.id.textView33); txt3.setText(pro.getShowname()); TextView txt5=(TextView)convertView.findViewById(R.id.textView44); txt5.setText(pro.getStatedate()); TextView txt4=(TextView)convertView.findViewById(R.id.textView6); txt4.setText(pro.getEnddate()); TextView txt6=(TextView)convertView.findViewById(R.id.textView55); txt6.setText(pro.getBoardsize()); TextView txt7=(TextView)convertView.findViewById(R.id.teextView); txt7.setText("( "+pro.getCompname()+" )"); Button imgb=(Button) convertView.findViewById(R.id.imageButton2); imgb.setOnClickListener(new View.onClickListener() { @Override public void onClick(View v) { Intent intent = new Intent().setClass(getContext(),Full_info_page.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); intent.putExtra("name1",String.valueOf(st1)); intent.putExtra("name2",String.valueOf(st2)); intent.putExtra("name3",String.valueOf(st3)); intent.putExtra("name4",String.valueOf(st4)); intent.putExtra("name5",String.valueOf(st5)); intent.putExtra("name6",String.valueOf(st6)); intent.putExtra("name7",String.valueOf(st7)); intent.putExtra("name8",String.valueOf(st8)); intent.putExtra("name9",String.valueOf(st9)); intent.putExtra("name10",String.valueOf(st10)); intent.putExtra("name11",String.valueOf(st11)); intent.putExtra("name12",String.valueOf(st12)); intent.putExtra("name13",String.valueOf(st13)); intent.putExtra("name14",String.valueOf(st14)); intent.putExtra("name15",String.valueOf(st15)); intent.putExtra("name16",String.valueOf(st16)); intent.putExtra("name17",String.valueOf(st17)); intent.putExtra("name18",String.valueOf(st18)); intent.putExtra("name19",String.valueOf(st19)); intent.putExtra("name20",String.valueOf(st20)); intent.putExtra("name21",String.valueOf(st21)); intent.putExtra("name22",String.valueOf(st22)); intent.putExtra("name23",String.valueOf(st23)); intent.putExtra("name24",String.valueOf(st24)); intent.putExtra("name25",String.valueOf(st25)); intent.putExtra("name26",String.valueOf(st26)); intent.putExtra("name27",String.valueOf(st27)); intent.putExtra("name28",String.valueOf(st28)); intent.putExtra("name29",String.valueOf(st29)); intent.putExtra("name30",String.valueOf(st30)); intent.putExtra("name31",String.valueOf(st31)); intent.putExtra("name32",String.valueOf(st32)); intent.putExtra("name33",String.valueOf(st33)); intent.putExtra("name34",String.valueOf(st34)); intent.putExtra("name35",String.valueOf(st35)); intent.putExtra("name36",String.valueOf(st36)); intent.putExtra("name37",String.valueOf(st37)); intent.putExtra("name38",String.valueOf(st38)); intent.putExtra("name39",String.valueOf(st39)); intent.putExtra("name40",String.valueOf(st40)); context.startActivity(intent); } }); return convertView; } public void filter(String charText) { charText = charText.toLowerCase(Locale.getDefault()); if (charText.length() == 0) { } else { } notifyDataSetChanged(); }
}
请帮助我使用此方法过滤器仅过滤人名或日期….提前谢谢
public class Customlistadapter extends BaseAdapter { private Activity activity; private LayoutInflater inflater; private List<Movie> movieItems; private List<Movie> movieItemSearched = null; private List<Movie> originalMovieList; ImageLoader imageLoader = AppController.geTinstance().getImageLoader(); public Customlistadapter(Activity activity,List<Movie> movieItems) { this.activity = activity; this.movieItems = movieItems; this.originalMovieList = new ArrayList<Movie>(movieItems); this.movieItemSearched = new ArrayList<Movie>(); this.movieItemSearched.addAll(movieItems); } //Add Below Method public void reloadData(){ this.originalMovieList = new ArrayList<Movie>(movieItems); notifyDataSetChanged(); } @Override public int getCount() { return movieItems.size(); } @Override public Object getItem(int LOCATIOn) { return movieItems.get(LOCATIOn); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position,ViewGroup parent) { if (inflater == null) inflater = (LayoutInflater) activity .getSystemservice(Context.LAYOUT_INFLATER_serviCE); if (convertView == null) convertView = inflater.inflate(R.layout.list_row,null); if (imageLoader == null) imageLoader = AppController.geTinstance().getImageLoader(); NetworkImageView thumbNail = (NetworkImageView) convertView .findViewById(R.id.thumbnail); TextView title = (TextView) convertView.findViewById(R.id.titlE); TextView rating = (TextView) convertView.findViewById(R.id.rating); TextView genre = (TextView) convertView.findViewById(R.id.genrE); TextView year = (TextView) convertView.findViewById(R.id.releaseYear); TextView appuser = (TextView) convertView.findViewById(R.id.appuser); TextView reg = (TextView) convertView.findViewById(R.id.reg); // LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100,100); // iv.setLayoutParams(layoutParams); // getTing movie data for the row Movie m = movieItems.get(position); // thumbnail image thumbNail.setImageUrl(m.getThumbnailUrl(),imageLoader); // title title.setText(m.gettitle()); // rating rating.setText(m.getrating()); // genre genre.setText(m.getGenre()); appuser.setText(m.getApp_user()); reg.setText(m.getReg()); year.setText(String.valueOf(m.getYear())); return convertView; } public Filter getFilter(ComponentName cn) { return new Filter() { @Override protected FilterResults performFiltering(CharSequence consTraint) { String filterString = consTraint.toString().toLowerCase(); FilterResults results = new FilterResults(); final List<Movie> list = originalMovieList; int count = list.size(); final ArrayList<Movie> nlist = new ArrayList<Movie>(count); String filterableString1,filterableString2; /* for (int i = 0; i < count; i++) { filterableString = list.get(i).gettitle(); if (filterableString.toLowerCase().contains(filterString)) { // nlist.add(filterableString); nlist.add(list.get(i)); } } */ for (Movie movie: originalMovieList) { filterableString1 = movie.gettitle(); filterableString2 = movie.getrating(); if (filterableString1.toLowerCase().contains(filterString)||filterableString2.toLowerCase().contains(filterString)) { // nlist.add(filterableString); nlist.add(moviE); } } results.values = nlist; results.count = nlist.size(); return results; } @SuppressWarnings("unchecked") @Override protected void publishResults(CharSequence consTraint,FilterResults results) { movieItems.clear(); movieItems.addAll((ArrayList<Movie>) results.values); notifyDataSetChanged(); } }; } }
@Override public Boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); // Inflate menu to add items to action bar if it is present. inflater.inflate(R.menu.main,menu); SearchManager manager = (SearchManager) getSystemservice(Context.SEARCH_serviCE); SearchView search = (SearchView) menu.findItem(R.id.action_search).getActionView(); search.setSearchableInfo(manager.getSearchableInfo(getComponentName())); search.setOnQueryTextListener(new SearchView.onQueryTextListener() { @Override public Boolean onQueryTextSubmit(String query) { return true; } @Override public Boolean onQueryTextChange(String newText) { adapter.getFilter(getComponentName()).filter(newText); adapter.notifyDataSetChanged(); return false; } }); return true; }
以上是大佬教程为你收集整理的android – 如何在自定义列表视图中搜索全部内容,希望文章能够帮你解决android – 如何在自定义列表视图中搜索所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。