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

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

Войти
Регистрация
Восстановить пароль
 
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
#1

Не обновляется ListView - Программирование Android

24.10.2014, 12:04. Просмотров 596. Ответов 6
Метки нет (Все метки)

Нужно чтобы после завершения Activity обновлялся listView. При рестарте приложения список обновляется
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
public class NotifActivity extends Activity {
 
    String json;
    List<JSONObject> list;
    ListAdapter listAdapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_notif);
 
        json = new JSON(this).getJSON();//Получаем данные
        Log.wtf("",json);
        list = new ArrayList<JSONObject>();
        ListView listView = (ListView)findViewById(R.id.listView);
        try {
            JSONArray jsonArray = new JSONArray(json);
            for(int i = 0;i<jsonArray.length();i++)
                list.add(jsonArray.getJSONObject(i));
            listAdapter = new ListAdapter(this,list);
            listView.setAdapter(listAdapter);
        } catch (JSONException e) {
            Log.wtf("", "NotifActivity Error");
        }              
    }
 
    public void Click(View v){
        startActivityForResult(new Intent(this, ReturnDialog.class), 0);
    }
 
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        json = new JSON(this).getJSON();//Получаем обновленные данные
        Log.wtf("","onResult");
        list = new ArrayList<JSONObject>();//обновляем коллекцию
        try {
            JSONArray jsonArray = new JSONArray(json);
            for(int i = 0;i<jsonArray.length();i++)
                list.add(jsonArray.getJSONObject(i));
            listAdapter.notifyDataSetChanged();
        } catch (JSONException e) {
            Log.wtf("", "NotifActivity Error");
        }
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2014, 12:04     Не обновляется ListView
Посмотрите здесь:

Адаптер обновляется автоматически - Программирование Android
Я устанавливаю пустой список в адаптер Recyclerview а потом в onStart() просто читаю элементы из бызы данных в AsynkTask и адаптер не...

Не обновляется программа Google play - Программирование Android
Сделал игру Flappy Minecraft, после &gt;500 скачиваний, я решил добавить рекламу и сделал обновление, но оно не опубликовалось, писало что...

Не обновляется содержимое TableLayout в Fragment - Программирование Android
Здравствуйте. У меня есть фрагмент, в котором располагается таблица TableLayout с перечнем издательств. Также есть кнопка &quot;Добавить новое...

Форма не обновляется при запуске второго потока - Программирование Android
Есть следующий код: public void Upd(){ l=new Ping(); thr=new Thread(l); thr.start(); while(thr.isAlive()){ ...

Органайзер обновляется только после перезапуска приложения - Программирование Android
Вот пытаюсь сделать свой органайзер, но что то не идет, все повисло на обновлении списка. Обновляется только после перезапуска...

Не обновляется список после добавления item'a на страницу ViewPager? - Программирование Android
для добавления item в список используется отдельная активити, сама запись добавляется но при закрытии активити в списке не видна. ...

ListView - Программирование Android
Добрый день. У меня есть лист ListView. Данные для заполнения он берет из таблицы БД. Таблица имеет два поля (имя, статус выполнения)....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
24.10.2014, 12:26     Не обновляется ListView #2
Удалите из метода onActivityResult строку listAdapter.notifyDataSetChanged();
и добавьте в ваше активити соедующий метод:
Java
1
2
3
4
5
@Override
  protected void onResume() {
    super.onResume();
    listAdapter.notifyDataSetChanged();
  }
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
24.10.2014, 12:30  [ТС]     Не обновляется ListView #3
Gabberr, не помогло
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
24.10.2014, 12:34     Не обновляется ListView #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
а зачем вы пересоздаёте список?
Попробуйте удалить строку list = new ArrayList<JSONObject>();//обновляем коллекцию
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 177
24.10.2014, 13:03     Не обновляется ListView #5
shulyakyarik, пробуйте
Java
1
2
3
4
5
6
7
8
    @Override
    protected void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
                           list.clear(); 
                           listAdapter.notifyDataSetChanged();
    
    }
shulyakyarik
10 / 10 / 3
Регистрация: 28.03.2014
Сообщений: 156
24.10.2014, 14:19  [ТС]     Не обновляется ListView #6
semiromid, а причем здесь onStop?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2014, 15:06     Не обновляется ListView
Еще ссылки по теме:

из БД в ListView - Программирование Android
Пишу приложение афишы кинотеатра. В базе данных есть стобцы: название, жанр, страна, время показа. Вот эти данные думаю подгружать...

Listview в listview - Программирование Android
Добрый.. вечер. Вопрос такого плана - есть listview созданный через кастомный адаптер, в элементах этого listview есть еще один listview,...

ListView - Программирование Android
Пытаюсь сделать по аналогии с уроком MySql + Android. Он есть проблема: ListView lv = getListView(); getListView подсвечивается...

ListView - Программирование Android
Как в ListView задавать значения Sub Item?

id ListView - Программирование Android
как дать каждому item уникальный id d listview и использовать его для проверки базы данных помогите заранее спасибо


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

Или воспользуйтесь поиском по форуму:
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 177
24.10.2014, 15:06     Не обновляется ListView #7
shulyakyarik, Нужно чтобы после завершения Activity обновлялся listView. При рестарте приложения список обновляется
onStop() - этот метод сработает в момент завершения активити . Я не знаю что Вам нужно , так что попробуйте без него тоже.
Yandex
Объявления
24.10.2014, 15:06     Не обновляется ListView
Ответ Создать тему
Опции темы

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