【问题标题】:Android Search Activity and List AdapterAndroid 搜索活动和列表适配器
【发布时间】:2014-04-20 14:15:17
【问题描述】:

假设我有 3 个活动。它们都呈现从 Volley 获取的数据,因为数据来自外部 API,在每个活动中,数据都存储在 ListView 中,并且数据由我的自定义 BaseAdapter 提供(活动之间的数据不同,但它们实现了称为 Listeable 的通用接口,因此通常不会没关系)

我阅读了一些关于创建 SearchActivity 的内容,据我了解,我只是在传递一个查询,我需要自己在 SearchActivity 中执行搜索。

我的问题是我可以将包含运行搜索的活动中的数据的列表传递给我不需要再次从外部 API 获取该数据的 SearchActivity,然后在我的 SearchActivity 中过滤该列表以匹配我的查询?

我想归档行为,无论是哪个活动,我都只是将数据传递给 searchActivity,它会为我过滤并在新列表中显示该数据。

希望大家能理解我的问题。

也许有人以前做过这种事情并且可以分享一个示例代码?

【问题讨论】:

    标签: android search android-activity adapter android-volley


    【解决方案1】:

    我找到了解决办法

    首先我在我的列表项中实现了 Parcelable(在 How can I make my custom objects Parcelable? 之后)

    我已经覆盖了startActivity(这是将数据传递给搜索小部件的唯一方法)

    @Override
    public void startActivity(Intent intent) {
        // check if search intent
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            intent.putExtra("elementsToSearch", keywordsData);
        }
    
        super.startActivity(intent);
    }
    

    确保keywordsData是一个基元数组或<? extends Parcelable>

    比在我的搜索结果活动中我简单地调用

    getIntent().getExtras().getParcelableArrayList("elementsToSearch");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 2016-08-21
      • 2021-10-12
      相关资源
      最近更新 更多