我想AutoCompleteTextView在我的活动中使用an ,并通过查询Web API将数据填充为用户类型.我该怎么做呢?
我是否创建了一个新类并重写AutoCompleteTextView.performFiltering,或者我是否使用自定义列表适配器并提供android.widget.Filter覆盖performFiltering 的自定义?
或者有更好的方法来获得我的最终目标吗?
我做了一些类似的事情,但是它用于快速搜索框,它涉及实现服务,但我相信这不是我想要做的.
我正在应用程序中构建搜索,并且需要有一种方法可以将我从服务器获得的建议作为JSON数组放入快速搜索框下方显示的建议列表中.
有一种简单的方法可以让快速搜索框读取这些资源吗?
目前我正在尝试使用ContentProvider,但是接口方法清楚地表明应该查询数据库以获取建议.我想如果您正在搜索存储在应用程序中的数据,那么使用ContentProvider是正确的方法.但是,我不太确定,如果您需要查询网络资源,这是正确的方法.
我将从网络获得的建议保存到本地数据库是没有意义的,因为建议及其命中率会不时变化.
有谁有这个问题?或者可以指出我在类似问题的方向?我在堆栈上找不到提到网络建议的问题.
我需要在我的Android应用程序中构建一个搜索功能,它依赖于服务器的json响应.用户将在位于操作栏中的搜索视图中输入搜索查询.根据用户类型,将对服务器进行查询,并且服务器返回的响应应显示为下拉建议.我应该怎么做呢.根据我读过的文档,我需要实现一个内容提供者.什么是实现应用搜索的最佳方式?
我正在尝试创建一个可搜索的活动,从谷歌地方API获得结果,我已经创建了一个内容提供商并放置一些代码来执行HTTP请求谷歌并解析结果.
问题是Web请求需要异步完成以阻止它阻止UI线程,当这样做时内容提供者在Web请求完成之前返回MatrixCursor,使得结果在下次文本框改变时出现当文本实际发生变化时
有没有办法解决?
这是我的搜索内容提供商的代码:
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.SearchManager;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import android.util.Log;
import com.loopj.android.http.*;
public class LocationsSuggestionProvider extends ContentProvider {
private static final String[] COLUMNS = {
"_id", // must include this column
SearchManager.SUGGEST_COLUMN_TEXT_1};
public MatrixCursor cursor = new MatrixCursor(COLUMNS);
public LocationsSuggestionProvider()
{
}
@Override
public int delete(Uri arg0, String arg1, String[] arg2) {
return 0;
}
@Override
public String getType(Uri uri) {
return …
Run Code Online (Sandbox Code Playgroud)Run Code Online (Sandbox Code Playgroud)