Fragments を使用する ViewPager があります。現在、フラグメントには ImageView と大きな TextView を含むフレームレイアウトのみがタイトルとして含まれています。各フラグメント画像は非同期的にロードされています。
私の問題は、非同期タスクが完了した後、画像のタイトルが新しい値で変更されているのを見ることができます..しかし、ImageViewは初回のみロードされた画像を表示します..
onCreateView メソッド
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout containing a title and body text.
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_sliding, container, false);
rootView.setId(imgId);
return rootView;
}
非同期ローダーが情報をロードするとき
@Override
public void onLoadFinished(Loader<DImage> arg0, DImage arg1) {
View v = getView();
ImageView im = (ImageView) v.findViewById(R.id.fragment_image);
im.setImageBitmap(arg1.image);
TextView tv = (TextView) v.findViewById(R.id.fragment_image_title);
tv.setText(arg1.id + "");
}
得られた結果はすべてのフラグメントで異なります..また、画像をスライドするとテキストビューのテキストが異なって表示されます..画像ビットマップをnullに設定してから、新しいビットマップで更新しようとしました..しかし、うまくいきません..私は間違っていますか?
EDIT:フラグメントのXMLを追加
<ImageView
android:id="@+id/fragment_image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:keepScreenOn="true"
/>
<TextView
android:id="@+id/fragment_image_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="30dp" />