Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Vlast92
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 20
#1

AutoCompleteTextView - Android

25.03.2013, 01:51. Просмотров 917. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Объявляю автокомплит - все нормально работает.
Java
1
List<String> Countries = new ArrayList<String>();
Java
1
2
3
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, Countries);
AutoCompleteTextView textView = (AutoCompleteTextView) pages.get(1).findViewById(R.id.autoCompleteTextView1);
textView.setAdapter(adapter);// добавляем строки из массива
Не понимаю, как обновить текст для авто заполнения?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
25.03.2013, 02:07     AutoCompleteTextView #2
Vlast92, а что добавить в список Countries строки методом add не получается?
Vlast92
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 20
25.03.2013, 02:16  [ТС]     AutoCompleteTextView #3
Я добавляю, все нормально работает. Но как сделать динамическое обновление этой информации?
При вводе символа в автокомплит, изменяется массив с текстом для авто заполнения, но отображается изначальный, то есть грубо говоря ничего не меняется.
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
25.03.2013, 02:31     AutoCompleteTextView #4
Цитата Сообщение от Vlast92 Посмотреть сообщение
Я добавляю, все нормально работает. Но как сделать динамическое обновление этой информации?
А что является источником данной информации ты ее откуда берешь?

Цитата Сообщение от Vlast92 Посмотреть сообщение
При вводе символа в автокомплит, изменяется массив с текстом для авто заполнения, но отображается изначальный,
Вот тут не совсем понятно обычно ты вводишь символ или два допустим Ru он подгружает твой массив и предлагает тебе Russia а как у тебя массив при этом меняется?
Vlast92
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 20
25.03.2013, 02:49  [ТС]     AutoCompleteTextView #5
Парсится страница, при этом когда вводишь символ, отправляется новый запрос и каждый раз обновляется массив.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
class FindLand extends AsyncTask<Void, Void, Void> {
 
protected Void doInBackground(Void... params) {
 
            BufferedReader in = null;
            String end = "";
            try {
                HttpClient client = new DefaultHttpClient();
                HttpGet request = new HttpGet();
                try {
                    AutoCompleteTextView WriteSity = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
                    jsonResult = jsonBase + WriteSity.getText().toString() + "";
                    Log.d("myLogs", jsonResult);
                    request.setURI(new URI(jsonResult));
                } catch (URISyntaxException e) {
                    e.printStackTrace();
                }
                HttpResponse response = client.execute(request);
                in = new BufferedReader(new InputStreamReader(response
                        .getEntity().getContent()));
 
                StringBuffer sb = new StringBuffer("");
                String line = "";
                String NL = System.getProperty("line.separator");
 
                while ((line = in.readLine()) != null) {
                    sb.append(line + NL);
                }
                in.close();
 
                end = sb.toString();
                try {
                    Log.d("myLogs", "Begin Parse");
                    parse(end);
                    Log.d("myLogs", "End Parse");
                } catch (Exception e) {
                    e.printStackTrace();
                }
 
            } catch (ClientProtocolException e) {
                Log.d("myLogs", e.getMessage());
 
            } catch (IOException e) {
                Log.d("myLogs", e.getMessage());
            }
 
            finally {
                Log.d("myLogs", "All right!");
                if (in != null) {
                    try {
 
                        in.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
 
            return null;
        }
 
 
private void parse(String end) throws Exception {
 
            JSONObject jObject = new JSONObject(end);
            JSONArray landarray = jObject.getJSONArray("RESULTS");  
            Countries = new ArrayList<String>();
 
            for (int i = 0; i < landarray.length(); i++) {          
               Countries.add(landarray.getJSONObject(i).getString("name").toString());
              }
              Log.d("myLogs",Countries.toString());
 
            Log.d("myLogs", "End Parse");
        }
}
}
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
25.03.2013, 12:52     AutoCompleteTextView #6
textView.addTextChangedListener(..);
Countries.clear();
Countries.addAll(..);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 22:24     AutoCompleteTextView
Еще ссылки по теме:

Android Autocompletetextview и сквозной поиск
Android Ограничить число подсказок AutoCompleteTextView
Android Не работает AutoCompleteTextView для ArrayList собственного класса

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vlast92
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 20
25.03.2013, 22:24  [ТС]     AutoCompleteTextView #7
Спасибо!
Надо было объявить
Java
1
2
3
4
5
6
7
8
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3) {
if (textView.getText().length() >= 2){
Log.d("myLogs","Содержимое Countries "+ Countries.toString());
Countries.clear();
new FindLand().execute();
}
}
Yandex
Объявления
25.03.2013, 22:24     AutoCompleteTextView
Ответ Создать тему
Опции темы

Текущее время: 04:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru