在android中使用txt文件数据显示AutoCompleteTextView

时间:2013-09-03 04:15:27

标签: android android-listview autocompletetextview

我想在我的应用程序中添加AutoCompleteTextView。我有一个txt文件,存在超过2000条记录。我想将它用于AutoCompleteTextView。通常对于小数据,我们使用数组:

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.select_dialog_item,dataArray);
       AutoCompleteTextView actv= (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
       actv.setThreshold(1);
       actv.setAdapter(adapter);

但是现在如何使用txt文件进行AutoCompleteTextView。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:2)

如何分隔文本文件中的元素?假设您在每一行上都有一个新元素,您可以使用它将文件转换为数组,使用上面提到的数组适配器。

   String[] arr= null;
   List<String> items= new ArrayList<String>();

    try 
    { 
        FileInputStream fstream = new FileInputStream("text1.txt"); 
        DataInputStream data_input = new DataInputStream(fstream); 
        BufferedReader buffer = new BufferedReader(new InputStreamReader(data_input)); 
        String str_line; 

        while ((str_line = buffer.readLine()) != null) 
        { 
            str_line = str_line.trim(); 
            if ((str_line.length()!=0))  
            { 
                items.add(str_line);
            } 
        }

        arr = (String[])items.toArray(new String[items.size()]);
    }

答案 1 :(得分:2)

 create one string resource file like "string_autocompletearray" and define your array.

**res/values/string_autocompletearray.xml**
 string-array name="autocomplete_array">
    <item>AutoCompleteText 1 </item>
    <item>AutoCompleteText 2 </item>
    -------------------------------
    -------------------------------
    <item>AutoCompleteText N </item>
</string-array>

**Now find this array and set to adapter**
ArrayList<String> list = new ArrayList<String> (Arrays.asList(getResources().getStringArray(R.array.autocomplete_array)));