gpt4 book ai didi

android - 使用 Google Place API 的 AutoCompleteTextView 不起作用

转载 作者:行者123 更新时间:2023-11-30 04:27:23 25 4
gpt4 key购买 nike

我必须使用 Google Places API 创建一个 AutoCompleteTextView。我尝试了以下代码,但它不起作用。我没有收到任何错误,也无法获得任何建议,例如 Google 搜索框。

请建议如何执行此操作或我哪里出错了。

   final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list_item);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
adapter.setNotifyOnChange(true);
textView.setAdapter(adapter);
textView.addTextChangedListener(new TextWatcher() {

public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count%3 == 1) {
adapter.clear();
try {

URL googlePlaces = new URL(
// URLEncoder.encode(url,"UTF-8");
"https://maps.googleapis.com/maps/api/place/autocomplete/json?input="+ URLEncoder.encode(s.toString(), "UTF-8") +"&types=geocode&language=fr&sensor=true&key=<getyourowndamnkey>");
URLConnection tc = googlePlaces.openConnection();
Log.d("GottaGo", URLEncoder.encode(s.toString()));
BufferedReader in = new BufferedReader(new InputStreamReader(
tc.getInputStream()));

String line;
StringBuffer sb = new StringBuffer();
while ((line = in.readLine()) != null) {
sb.append(line);
}
JSONObject predictions = new JSONObject(sb.toString());
JSONArray ja = new JSONArray(predictions.getString("predictions"));

for (int i = 0; i < ja.length(); i++) {
JSONObject jo = (JSONObject) ja.get(i);
adapter.add(jo.getString("description"));
}


} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}

public void afterTextChanged(Editable s) {

}
});

最佳答案

如果您创建了一条 LogCat 消息,例如您为 GottaGo 创建的消息,其中包含来自 Places Api 的一些预期结果,这可以帮助您检查数据以了解问题出在哪里。

https://maps.googleapis.com/maps/api/place/autocomplete/json?input="+ URLEncoder.encode(s.toString(), "UTF-8") +"&types=geocode&language=fr&sensor=true&key=<getyourowndamnkey>

这是您尝试通过 URL 连接到的链接。您是否真的输入了您的代码,或者您只是将默认的谷歌代码放在那里作为这个例子?如果是这样,这就是您无法下载它的原因。

尝试将链接放入您的浏览器,它应该仍然显示数据,如果有错误它会告诉您。

关于android - 使用 Google Place API 的 AutoCompleteTextView 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com