0

如题:List有数据若干,比如“北京”,“上海”。输入北京,如果list里有这条数据就展示到listview中

2个回答

1
题主说的应该是建议搜索(联想输入)的功能吧

这类问题分两步走:

  1. 数据检索:
    A. 数据来源通常是:本地数据库服务器接口
    B. 不论是本地还是服务器数据,都是使用Loader来实现,它能帮你处理页面生命周期的很多问题
    C. 如果你用AsyncTask那就需要根据页面的生命周期自行管理检索数据的任务(关闭页面时的资源释放、取消界面展示的回调函数)
  2. 数据展示:
    A. ListView or RecyclerView二选一
    B. 当Loader加载完,它会自行调用LoaderCallbacks.OnLoadFinished(Loader<D>, D),也就是在这个回调中,将数据刷新到列表中

0

首先listview的数据源肯定不能是这个包含了若干数据的list了,这里叫它mDatas。
大致的逻辑如下:

        List<String> list = new ArrayList<>(); //包含了若干数据的集合
        List<String> mDatas = new ArrayList<>(); //adapter中使用的集合
        if (list.contains("北京")) {
            mDatas.add("北京");
            mAdapter.notifyDataSetChanged();
        }

撰写答案

相似问题