第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用過濾器Android的自定義Listview適配器

使用過濾器Android的自定義Listview適配器

拉風(fēng)的咖菲貓 2019-06-28 11:02:12
使用過濾器Android的自定義Listview適配器請(qǐng)嘗試在我的列表視圖上實(shí)現(xiàn)一個(gè)過濾器。但是只要文字變了,列表就會(huì)消失。請(qǐng)幫我把我的密碼。適配器類。package com.talagbe.schymn;import java.util.ArrayList;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.TextView;public class HymnsAdapter extends ArrayAdapter<Hymns> {ArrayList<Hymns> hymnarray;Context context;LayoutInflater inflater;int Resource;public HymnsAdapter(Context context, int resource, ArrayList<Hymns> objects) {     super(context, resource, objects);     // TODO Auto-generated constructor stub     hymnarray=objects;     Resource= resource;     this.context=context;     inflater= (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {     // TODO Auto-generated method stub      ViewHolder holder;      if(convertView==null){          convertView= inflater.inflate(Resource,null);          holder= new ViewHolder();          holder.hymntitle= (TextView) convertView.findViewById(R.id.Hymn_title);         // holder.hymntext= (TextView) convertView.findViewById(R.id.Channel_name);          convertView.setTag(holder);      }else{          holder=(ViewHolder)convertView.getTag();      }      holder.hymntitle.setText(hymnarray.get(position).getTitle());      //holder.hymntext.setText(hymnarray.get(position).getText());     return convertView;}    static class ViewHolder{     public TextView hymntitle;     public TextView hymntext;}  }下面是我試圖實(shí)現(xiàn)過濾器的另一個(gè)類。我有一個(gè)編輯文本,在textChangeListener上實(shí)現(xiàn)
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

我希望這會(huì)對(duì)其他人有所幫助。

// put below code (method) in Adapter classpublic void filter(String charText) {
    charText = charText.toLowerCase(Locale.getDefault());
    myList.clear();
    if (charText.length() == 0) {
        myList.addAll(arraylist);
    }
    else
    {
        for (MyBean wp : arraylist) {
            if (wp.getName().toLowerCase(Locale.getDefault()).contains(charText)) {
                myList.add(wp);
            }
        }
    }
    notifyDataSetChanged();}

在適配器類中聲明下面的代碼

private ArrayList<MyBean> myList;  // for loading main listprivate ArrayList<MyBean> arraylist=null;  // for loading  filter data

下面是適配器構(gòu)造函數(shù)中的代碼

this.arraylist = new ArrayList<MyBean>();
    this.arraylist.addAll(myList);

和下面的代碼在您的活動(dòng)類中。

final EditText searchET = (EditText)findViewById(R.id.search_et);
    // Capture Text in EditText
    searchET.addTextChangedListener(new TextWatcher() {

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub
            String text = searchET.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 arg1, int arg2,
                                  int arg3) {
            // TODO Auto-generated method stub
        }
    });


查看完整回答
反對(duì) 回復(fù) 2019-06-28
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

請(qǐng)檢查下面的代碼,它將對(duì)您有幫助。

DrawerActivity.userListview            .setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {

                    int pos = position;
                    Intent intent = new Intent(getContext(),
                            UserDetail.class);
                    intent.putExtra("model", list.get(position));
                    context.startActivity(intent);
                }
            });
    return convertView;}@Overridepublic android.widget.Filter getFilter() {

    return new android.widget.Filter() {

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

            ArrayList<UserListModel> updatelist = (ArrayList<UserListModel>) results.values;
            UserListCustomAdaptor newadaptor = new UserListCustomAdaptor(
                    getContext(), getCount(), updatelist);

            if (results.equals(constraint)) {
                updatelist.add(modelobj);
            }
            if (results.count > 0) {
                notifyDataSetChanged();
            } else {

                notifyDataSetInvalidated();
            }
        }

        @Override
        protected FilterResults performFiltering(CharSequence constraint) {

            FilterResults filterResults = new FilterResults();
            list = new ArrayList<UserListModel>();

            if (constraint != null && DrawerActivity.userlist != null) {

                constraint = constraint.toString().toLowerCase();
                int length = DrawerActivity.userlist.size();
                int i = 0;
                while (i < length) {

                    UserListModel modelobj = DrawerActivity.userlist.get(i);
                    String data = modelobj.getFirstName() + " "
                            + modelobj.getLastName();
                    if (data.toLowerCase().contains(constraint.toString())) {
                        list.add(modelobj);
                    }

                    i++;
                }
                filterResults.values = list;
                filterResults.count = list.size();
            }
            return filterResults;
        }
    };}@Overridepublic int getCount() {
    return list.size();}@Overridepublic UserListModel getItem(int position) {

    return list.get(position);}


查看完整回答
反對(duì) 回復(fù) 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 657 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)