2016-11-01 1 views
0

Итак, я устал пытаться найти решение для этого. Я сам изучаю Java, поэтому мои знания немного ограничены ....Обновление Android TextView из активности на ходу

Есть много вопросов о том, как обновить текст TextView во фрагменте из активности, но не у них есть работа для меня.

я получил следующий метод в моем фрагменте, который находится внутри пейджера:

static TextView tv_db_stat;  

public static Stored_Fragment newInstance(String db_stat){ 
     Stored_Fragment fragment = new Stored_Fragment(); 
     args.putString(ARG_DB_STAT,db_stat); 
     fragment.setArguments(args); 

     tv_db_stat.setText(args.getString(ARG_DB_STAT)); 
     //This is the only way I found to update the text 
     //But tv_db_stat need to be static to keep the reference 
     //When I update the arguments from the activity 
     //Of course, I get a warning about a context class being static 

     return fragment; 
    } 

Как я уже говорил в комментариях, единственный способ, которым TextView обновляется держит его как статические, так как он должен для обновления после возврата к основной деятельности из второго действия. Если я удалю из него .setText() и разрешаю это только в onCreate или onViewCreated, текст не обновляется. Если я не стану статичным, у меня есть (как и следовало ожидать) NPE.

(EDIT) Я пытался использовать контейнер в моем XML закодированного макет, но, как и у вас есть предположение, то fragment.replace.commit просто перекрывают виджеты ...

Это работает «нормально» , но мне не нравится возможность утечки памяти, я попробовал почти все советы там, но не из них обновить мой TextView, но это.

в своей деятельности я просто делаю это:

Stored_Fragment sf = new Stored_Fragment(); 
    sf.newInstance(DB_STAT); 

Итак, что же вы, что должна быть лучшей альтернативой этому «решение

ответ

0

Ничего, я нашел поворот вокруг использования onResume, который, я думаю, вызывается после метода newInstance.Я просто перетаскиваю setText в onResume, где ему не нужно быть статичным. Еще тестирование, но теперь я могу очистить свой код.

 Смежные вопросы

  • Нет связанных вопросов^_^