0
호환성 팩의 ViewPager를 페이지 조각으로 사용합니다. 파편에 데이터를 제공하는 백그라운드 서비스가 필요합니다. 따라서 I 그러한 프래그먼트 (예) 텍스트 뷰를 갱신하는 "정상 자바 클래스를"사용ViewPager에서 일반 자바 클래스로 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();
}
}
축배 말한다를 상기 텍스트 뷰 매개 변수 _text
의 값을 가지고있다. 괜찮아!
문제 : 화면에서 TextView의 원래 값이 _text
으로 변경되지 않았습니다.
나는 모든 종류의 invalidate()
을 시도했다고 생각합니다. 내가 뭘 잘못하고있어? ViewPager에서 조각 "보기"를 어떻게 업데이트 하시겠습니까?
답변 해 주셔서 감사합니다. 나는 나의 질문이 정말로 분명하지 않았다고 생각한다. 토스트 인스턴스는 "내부적으로"값이 변경되었지만 뷰에서 새로 고쳐지지 않은 값인지 확인하는 "돕는 기능"일뿐입니다. 다시는 나를 도울 수 있을까? – Andrew
setText()는 어떤 종류의 무효화도 필요로하지 않으며, 문제는 그 밖의 다른 장소이며, 값을 다른 것으로 변경하지 않고, 현재 보여지고있는 뷰임을 확인하려고합니다 –