在单个列表中附加来自两个不同 api 调用的数据

Appending data from two different api calls inside single list

我在操作中集成了搜索栏 bar.I 希望建议列表显示来自两个不同 api 调用的数据,所以我在 onQueryTextChange() 中调用了两个 api 但问题是是第一个数据从第一个 api 调用显示,然后数据被第二个 api call.How 的数据替换我可以显示来自两个不同 api 调用的数据吗搜索视图的建议列表?

@Override
public boolean onQueryTextChange(String s) {

        if(s.length()>=3) {
        String mStart = "";
      int mCount = 10;

            String[] columnNames = {"_id", "name", "userImage", "location"};
            final String[] temp = new String[5];
            final MatrixCursor cursor = new MatrixCursor(columnNames);
            SearchAPI.getSearchFeed(getApplicationContext(), s, mStart, mCount, mSettingsManager.getInstance().getAccessToken(), new APIResponseListener() {
                @Override
                public void onResponse(Object response) {


                    searchResponses= (List<Video>) response;





                    for (Video searchResponse :searchResponses) {
                        temp[0] = Long.toString(id++);
                        temp[1] = searchResponse.getCaption();

                        temp[3] = searchResponse.getLocation();

                        cursor.addRow(temp);
                    }

                    mSearchView.setSuggestionsAdapter(new SearchListAdapter(HomeActivity.this, cursor));

                }

                @Override
                public void onError(VolleyError error) {

                    if (error instanceof NoConnectionError) {

                    }

                }
            });
            SearchAPI.getSearchUser(getApplicationContext(), s,mSettingsManager.getInstance().getAccessToken(), new APIResponseListener() {
                @Override
                public void onResponse(Object response)
                {

                        userResponses = (List<User>) response;



                    for (User searchResponse :userResponses) {
                        temp[0] = Long.toString(id++);
                        temp[1] = searchResponse.getUserName();

                        temp[3] = searchResponse.getEmail();

                        cursor.addRow(temp);
                    }
                    mSearchView.setSuggestionsAdapter(new SearchListAdapter(HomeActivity.this, cursor));


                }

                @Override
                public void onError(VolleyError error)
                {

                    if (error instanceof NoConnectionError) {

                    }


                }
            });
        }

    return true;
}

试试,

  1. 使用视频和用户创建模型。
  2. 调用您的 API 并创建模型对象。
  3. 然后将模型对象列表添加到列表视图