カスタム アダプターを持つリストビューを持つフラグメントがあります。フラグメントはタブからアクセスできます。
fragmentA をクリックすると、いくつかの画像がレンダリングされ、リストに表示されます。
fragmentB をクリックすると、別のものが表示されます。
fragmentA をもう一度クリックすると、画像が再レンダリングされます。再レンダリングを避けるために、状態を保存するにはどうすればよいですか?
フラグメントA :
public class FragmentA extends Fragment {
public ImageView my_img;
private static int hitcount = 0;
public Bitmap mybitmap = null;
public ProgressDialog pd;
private View myFragmentView;
public HashMap<Integer,String> urlList = new HashMap<Integer,String>();
public String inputUrl = "http://google.com/image.png";
ListView listview;
public String[] imgs = new String[20];
CustomAdapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
myFragmentView = inflater.inflate(R.layout.fragmenta, container, false);
listview = (ListView) myFragmentView.findViewById(R.id.listView1);
if(hitcount < 1) {
urlList = ((JSONActivity)getActivity()).imageList;
for(int i = 0; i < urlList.size(); i++)
imgs[i] = (String)urlList.values().toArray()[i];
adapter = new CustomAdapter(getActivity(), imgs );
listview.setAdapter(adapter);
}
listview.setActivated(true);
hitcount++;
return myFragmentView;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
何か案は?
前もって感謝します!