С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35

Reload Fragment

04.06.2015, 22:36. Показов 2221. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такая проблема, по нажатию кнопки поиска у меня возвращается список, под который на фрагменте создаются layout's. Пытаюсь сделать так, чтобы при каждом нажатии кнопки фрагмент перезагружался, чтобы выдача каждый раз была с нуля. Беда в том, что при использовании detach и attach список не отображается вообще. То есть он появляется на какую-то долю секунды и тут же фрагмент "чистится", не могу даже отловить, в какой момент отображается список и исчезает, ибо происходит это не внутри метода (тут я видимо вообще чего-то не понимаю). Метод выглядит так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void searchRestaurantButtonClick(View view) {
 
    final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.detach(fragment);
    ft.attach(fragment);
    ft.commit();
 
    EditText searchEditText = (EditText) findViewById(R.id.searchEditText);
    String searchText = searchEditText.getText().toString();
 
    List<Restaurant> restaurantsList = getRestaurantsList(searchText);
 
    LinearLayout verticalLayout = (LinearLayout) findViewById(R.id.newsFragment);
    for (Restaurant each : restaurantsList) {
        LinearLayout horizontalLayout = new LinearLayout(this);
 
        TextView titleTextView = new TextView(this);
        titleTextView.setText(each.getTitle());
        horizontalLayout.addView(titleTextView);
 
        verticalLayout.addView(horizontalLayout);
    }
}
Если блок с FragmentTransaction закомментировать, то список возвращается и нормально отображается, но, естественно, при повторном запросе там и остается, а результат нового запроса (следующий список) отображается под предыдущим списком. Может кто-то объяснить, в чем подвох? Пробовал также сделать через replace, но тогда при запросе возвращается ошибка:

Java
1
Caused by: java.lang.IllegalStateException: Can't change container ID of fragment FragmentNews{2abadd29 #0 id=0x7f0a0050}: was 2131361872 now 2131361880
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2015, 22:36
Ответы с готовыми решениями:

Обновление fragment из другого fragment
Добрый вечер всем!! Подскажите пожалуйста как обновить один фрагмент из другого (а именно TextView и ArrayAdapter)?

Fragment
Eсть Activity состоящий из ActionBar в котором две вкладки, каждая из них это Fragment. Не пойму как при переходе ко второй вкладке...

OnActivityResult For Fragment
Помогите решить проблему. У меня есть ListFragment который отображает фотки из бд и кнопка которая запускает стандартное приложения для...

2
535 / 504 / 114
Регистрация: 12.03.2014
Сообщений: 1,671
04.06.2015, 22:40
Лучший ответ Сообщение было отмечено gosteev как решение

Решение

gosteev, ну вообще лучше сделать это с помощью ListView. И при изменении данных просто перезагружать адаптер.
1
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
06.06.2015, 20:04  [ТС]
Spelcrawler, почитал про ListView, действительно имеет смысл через него делать, посоветовали правда в текущей реализации просто лэйаут вот так очистить:
Java
1
verticalLayout.removeAllViews();
Но в дальнейшем буду походу под ListView переделывать, за что тоже спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2015, 20:04
Помогаю со студенческими работами здесь

MapFragment в Fragment
Как получить MapFragment который находится в Fragment? Сейчас использую такой способ: MapFragment mapFragment =...

Работа с Fragment
Ребят изучаю андройд с недавних пор, дошел до фрагментов, но не особо их понимаю, можете кому не лень норм инфы накидать на эту тему?)

Вызов Fragment
Здравствуйте, есть такая задача. есть main класс ActionBarActivity который из обычно класса можно вызывать как...

Fragment и ListView
Задача необходимо сделать 2 фрагмента в 1-находится Listview в нем кнопки подгружаемые из файла, во 2 фрагменте описание как сделать так...

DialogFragment в Fragment
можно ли визивать DialogFragment с Fragment???


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru