【问题标题】:Showing web service's input values in autocompletetextview in android在android的autocompletetextview中显示Web服务的输入值
【发布时间】:2013-04-03 20:20:42
【问题描述】:

我现在正在使用一项网络服务。如果我提供正确的输入值,此网络服务将返回一些字符串值。我的要求是,我需要在 android 的 AutoCompleteTextView 中显示这些输入值。

例如:

假设我的网络服务有输入值,例如, "AX","AB","B","CC","CX","D"等。这里我需要在android的AutocompleteTextView中显示这些输入值。

注意:我不想在AutoCompleteTextView中将这些输入值硬编码成字符串格式,因为这些输入值会一天天更新,这样就没有意义了硬编码,不是吗?

请提出建议!

感谢您宝贵的时间!..

【问题讨论】:

    标签: android autocompletetextview


    【解决方案1】:

    这是您可以从服务中以字符串数据的形式获取数据的方式。

    public String getDataFromService()
    {
        try {
            HttpClient httpClient=new DefaultHttpClient();
            HttpGet httpGet=new HttpGet(yourserviceURLgoeshere);
            HttpResponse httpResponse=httpClient.execute(httpGet);
            HttpEntity entity = httpResponse.getEntity();
            is=entity.getContent();
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
        return parseExecutedRequest();
    }
    
    private String parseExecutedRequest()
    {
        try {
            BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder stringBuilder=new StringBuilder();
            String line=null;
    
            while((line=bufferedReader.readLine())!=null)
            {
                stringBuilder.append(line+ "\n");
            }
    
            is.close();
            result=stringBuilder.toString();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    
        return result;
    }
    

    【讨论】:

    • 那么当你以字符串的形式获取数据时。可能是 xml 或 json 字符串将该字符串分解为数组,或者换句话说,如 sujit 所说,将数据存储到数组列表中。然后将自动完成框的数组适配器设置为您从服务中获得的字符串创建的数组列表适配器。我希望你能得到答案。
    【解决方案2】:

    您必须创建一个 ArrayList 并填充您从 Web 服务获得的数据,并使用您创建的 ArrayList 将适配器设置为 AutoCompleteTextView

    【讨论】:

    • @Kalpeash 是的,我知道兄弟..从 Web 服务数据创建 ArryList 不是硬代码。它显然是动态的。
    • @Sujit 别误会我,我不能让你兄弟,因为我是 android 的新手,事实上我也是 android 的自学者..你有这方面的例子吗?
    • 这里除了 AutoCompleteTextView 之外,没有任何与 Android 相关的内容。它是所有核心java。您只需解析从Web 服务获取的数据并构建您的arraylist,然后将数据传递给AutoComplateTextView 的适配器。我现在没有任何确切的实现,但它是任何 Web 服务相关项目中的注释实现。最好搜索 Web 服务示例并尝试查找如何配置 ArrayList。希望你能得到我。
    【解决方案3】:

    如果输入值,则在此创建数组并将其绑定到 AutoCompleteTextView。这是示例click this

    【讨论】:

    • 您的示例只是对 autocompletetextview 中的值进行硬编码,但我不想这样做,因为我将仅在 android 的 AutoCompleteTextView 中显示 Web 服务的输入值跨度>
    • 要在自动完成文本视图中绑定数据,您必须具有编码数组或从 web 服务创建数组...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    相关资源
    最近更新 更多