0

互換性パックのViewPagerをページフラグメントに使用します。 フラグメントをデータで処理するバックグラウンドサービスが必要です。したがって、私は(例えば)そのような断片でのTextViewを更新するために、「通常のJavaクラス」を使用する:ViewPagerのTextviewを通常のJavaクラスで更新する

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でフラグメント "ビュー"をどのように更新しますか?

答えて

0

_textの値を変更するときにトーストインスタンスを保存して、古いトーストを非表示にして新しいトーストを作成する必要があります。

+0

ありがとうございました!私の質問は本当にはっきりしないと思います。トーストインスタンスは、値が「内部的に」変更されたことを確認するための「支援機能」に過ぎませんが、ビューでは更新されません。多分あなたはもう一度私を助けることができますか? – Andrew

+0

setText()は何らかの無効化を必要とせず、あなたの問題は他の場所であり、値を何か他のものに戻していないかどうかを調べ、現在表示されているビューです –

関連する問題