Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

24.10.2014, 12:04. Просмотров 635. Ответов 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");
        }
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2014, 12:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не обновляется ListView (Программирование Android):

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...

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

Переход из Listview в Listview - Программирование Android
Как сделать, что бы когда нажимаешь в главном листвью на кнопку, открывалось новое нужное(т.е. то по которому тапнули) активити с другим...

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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