Android搜索活动和列表适配器

时间:2014-04-20 14:15:18

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

我们假设我有3项活动。它们都提供从Volley获取的数据,因为数据来自外部API,每个活动数据都存储在ListView中,数据由我的自定义BaseAdapter提供(数据在活动之间有所不同,但它们实现了名为Listeable的通用接口,所以通常它不会#&# 39; t))

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

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

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

我希望每个人都能理解我的问题。

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

首先,我在列表项目中实施了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");