Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
gosteev
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
1

Reload Fragment

04.06.2015, 22:36. Просмотров 1009. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2015, 22:36
Ответы с готовыми решениями:

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

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

SwipeRefreshLayout + Fragment
Имеется mainActivity c &lt;android.support.v4.widget.SwipeRefreshLayout ...

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

Работа с Fragment
Ребят изучаю андройд с недавних пор, дошел до фрагментов, но не особо их...

2
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
04.06.2015, 22:40 2
Лучший ответ Сообщение было отмечено gosteev как решение

Решение

gosteev, ну вообще лучше сделать это с помощью ListView. И при изменении данных просто перезагружать адаптер.
1
gosteev
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 35
06.06.2015, 20:04  [ТС] 3
Spelcrawler, почитал про ListView, действительно имеет смысл через него делать, посоветовали правда в текущей реализации просто лэйаут вот так очистить:
Java
1
verticalLayout.removeAllViews();
Но в дальнейшем буду походу под ListView переделывать, за что тоже спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2015, 20:04

Анимация Fragment
Здравствуйте, такой вопрос. как прикрутить эту анимацию: &lt;?xml version=&quot;1.0&quot;...

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

TextView and Fragment
Доброго времени суток . Очень странная проблема, в классе extends Fragment есть...


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

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

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