相关疑难解决方法(0)

列表视图过滤Android

我在android中创建了一个列表视图,我想在列表上方添加编辑文本,当用户输入文本时,列表将根据用户输入进行过滤

任何人都可以告诉我,如果有一种方法来过滤android中的列表适配器?

search android listview filter android-listview

90
推荐指数
2
解决办法
11万
查看次数

使用自定义(对象)适配器过滤ListView

我正在尝试实现使用自定义对象适配器的ListView的过滤,但我找不到任何有用的示例.包含的代码非常简单,所以不要记住我不能使用常规的ArrayAdapter.我在ListView上面有一个EditText,当用户在EditText小部件中输入文本时,我想通过EditText中写的文本过滤ListView.我们欢迎所有的建议!

以下是活动类的片段:

public class management_objects extends Activity {

private static List<User> UserList;
private EfficientAdapter adapter = null;
private ListView objectListView = null;
private EditText SearchText = null;

private static class EfficientAdapter extends BaseAdapter implements Filterable{
    private LayoutInflater mInflater;   

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

    public int getCount() {
        return UserList.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder; …
Run Code Online (Sandbox Code Playgroud)

android listview filter adapter

62
推荐指数
2
解决办法
7万
查看次数

SearchView在具有自定义适配器的ListView中

伙计们我需要一些帮助.我一直在尝试在我的项目中实现SearchView.但是我的项目包含一个列表视图,附带了一个自定义适配器.我搜索了很多站点,但都有使用arrayadapter实现的示例. .假设我有一个Employee类,它包含名称和年龄字段.如何使用他们的名称来过滤员工..

public class MainActivity extends Activity implements SearchView.OnQueryTextListener
{
SearchView mSearchView;
ListView mListView;
//String mStrings[]= {"abc","def","efg","ghi","ijk","apple","agxhsdgc","abbbcc"};
ArrayList<Employee> emp_list=null;
EmployeeAdapter emp_adapter=null;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mSearchView=(SearchView) findViewById(R.id.searchView1);
        mListView=(ListView) findViewById(R.id.listView1);

        emp_list=new ArrayList<Employee>();
        emp_list.add(new Employee("ABC", 24));
        emp_list.add(new Employee("ACB", 24));
        emp_list.add(new Employee("BVF", 28));
        emp_list.add(new Employee("BRT", 28));
        emp_list.add(new Employee("ANM", 23));

        emp_adapter=new EmployeeAdapter(MainActivity.this, emp_list);
        mListView.setAdapter(emp_adapter);

//      mListView.setAdapter(new ArrayAdapter<String>(this,
//                android.R.layout.simple_list_item_1,
//                mStrings));
        mListView.setTextFilterEnabled(true);
        setupSearchView();


    }
     private void setupSearchView() 
     {
            mSearchView.setIconifiedByDefault(false);
            mSearchView.setOnQueryTextListener(this);
            mSearchView.setSubmitButtonEnabled(true); 
            mSearchView.setQueryHint("Search Here");
        }

        @Override
        public boolean onQueryTextChange(String newText) 
        { …
Run Code Online (Sandbox Code Playgroud)

android android-listview baseadapter searchview

24
推荐指数
1
解决办法
5万
查看次数

带有动画的Android Recycler视图适配器过滤器

我正在尝试优化Android中的RecyclerView Adapter的过滤方法.该列表用作ArrayList.我看过这篇文章但他们每次都会从原始列表中过滤掉.

示例:如果字符串'a'有10个结果,则用户输入'm','am'结果是'a'结果的子集(results.size()<= 10).

我在这个问题上有三点要问,

  1. 我可以使用ArrayMap优化HashMap内存吗?我应该在String中使用逗号分隔位置而不是Integer对象数组或使用int原始数组的任何方式吗?
  2. 我没有在这个结果中得到任何动画,如何得到它?(我notifyItemInserted还在使用动画)
  3. 在Hashmap中应该保留多少数据,直到2个字符或者应该根据结果列表大小?
我很高兴知道除了这些要点之外,在这个代码中是否可以做得更好.

在下面的代码中,mList用于onBindViewHolder方法中.copyList始终包含所有数据(不对其进行插入或删除).

class MyFilter extends Filter {


        /**
         * 1. check do we have search results available (check map has this key)
         * 2. if available, remove all rows and add only those which are value for that key (string)
         * 3. else check do we have any key available starting like this, s=har, already available -ha then it can be reused
         *
         * @param constraint …
Run Code Online (Sandbox Code Playgroud)

android android-filterable recycler-adapter android-recyclerview

7
推荐指数
1
解决办法
1654
查看次数