Обновите Textview в ViewPager обычным Java-классом - PullRequest
0 голосов
/ 18 февраля 2012

Я использую ViewPager из пакета совместимости для фрагментов страницы.Я хочу иметь фоновый сервис, который обслуживает фрагменты с данными.Поэтому я использую «обычный класс Java» для обновления (например) TextView в таком фрагменте:

public class Updater {

 private Activity mActivity=null;
 private TextView tv = null;
 private Context mContext; 
 private View mInflatedMenu =null;

 public Updater (Activity _activity, Context _context, View inflatedMenu) { 
    mActivity = _activity;
    mContext = _context;
    mInflatedMenu = inflatedMenu;
 }

 public void updateTextView (String _text) {
    tv = (TextView) mInflatedMenu.findViewById(R.id.tvFragment1Updater);
    tv.setText(_text);
    Toast.makeText(mContext, tv.getText(), Toast.LENGTH_SHORT).show();
 }      

}

Тост говорит, что TextView имеет значение параметра _text.Это нормально!
Проблема: на экране исходное значение TextView не изменилось на _text.

Я думаю, что я пробовал все виды invalidate().Что я делаю не так?Как бы вы обновили свой фрагмент "просмотров" в ViewPager?

1 Ответ

0 голосов
/ 18 февраля 2012

Вам нужно сохранить экземпляр тоста, когда вы изменяете значение _text, вам не нужно прятать старый тост и создавать новый.

...