在单个列表中附加来自两个不同 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;
}
试试,
- 使用视频和用户创建模型。
- 调用您的 API 并创建模型对象。
- 然后将模型对象列表添加到列表视图
我在操作中集成了搜索栏 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;
}
试试,
- 使用视频和用户创建模型。
- 调用您的 API 并创建模型对象。
- 然后将模型对象列表添加到列表视图