使用 BaseExpandableListAdapter 过滤 ExpandableListView 中的文本

发布于 2024-12-29 21:49:59 字数 1500 浏览 1 评论 0原文

我需要你的帮助:) 我有一个 EditText,下面有一个 ExpandableListView。我已将 BaseExpandableListAdapter 与 groups/child 一起使用。我希望当用户在 EditText 中写入时,ExpandableListView 仅显示插入文本的组(项目)。 我认为我必须创建一个过滤器。 这是我的一段源代码。有人可以帮助我吗?先感谢您

         @Override
     public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState
               setContentView(R.layout.main);
               et = (EditText) findViewById(R.id.filterText);

               et.setSingleLine();  
               et.addTextChangedListener(new TextWatcher() {

        @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            if (et.getText().toString().equals(""))
                elv.setBackgroundColor(Color.BLACK);
            else
            {
                elv.setBackgroundColor(Color.WHITE);
            }
        }
             @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

        }
    });

            elv=getExpandableListView();
            mAdapter = new MyExpandableListAdapter(fields_select,description);
            elv.setAdapter(mAdapter);

            class MyExpandableListAdapter extends BaseExpandableListAdapter {
               ......
            }

I need your help :)
I have a EditText and below a ExpandableListView. I have used a BaseExpandableListAdapter with groups/child. I would like that when the user writes in the EditText the ExpandableListView shows only the group (item) with the text inserted.
I think that I have to create a filter.
Here there is a piece of my source code.Could anyone help me? Thank you in advance

         @Override
     public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState
               setContentView(R.layout.main);
               et = (EditText) findViewById(R.id.filterText);

               et.setSingleLine();  
               et.addTextChangedListener(new TextWatcher() {

        @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            if (et.getText().toString().equals(""))
                elv.setBackgroundColor(Color.BLACK);
            else
            {
                elv.setBackgroundColor(Color.WHITE);
            }
        }
             @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

        }
    });

            elv=getExpandableListView();
            mAdapter = new MyExpandableListAdapter(fields_select,description);
            elv.setAdapter(mAdapter);

            class MyExpandableListAdapter extends BaseExpandableListAdapter {
               ......
            }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹏半生如梦愿梦如真 2025-01-05 21:49:59

我解决了它,我以这种方式实现了 Filterable 接口:

   class MyExpandableListAdapter extends BaseExpandableListAdapter implements Filterable{

然后我重写了 getfilter() 方法。最后,我编写了一个扩展 Filter 类的类。

   public Filter getFilter() {
    Filter filter = new MyFilter();
    return filter;
}

    private class MyFilter extends Filter{

I solved it, I have implemented the interface Filterable in this way:

   class MyExpandableListAdapter extends BaseExpandableListAdapter implements Filterable{

and then I have override the getfilter() method. In the end, I wrote a class that extends the Filter class.

   public Filter getFilter() {
    Filter filter = new MyFilter();
    return filter;
}

    private class MyFilter extends Filter{
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文