Android:Fragments,如何保存具有自定义适配器的Listview状态

时间:2013-06-16 20:17:23

标签: android android-listview android-fragments

我有一个包含listview的片段,它有一个自定义适配器。片段可通过标签访问。

当我点击fragmentA时,它会渲染一些图像并将它们显示在列表中。

当我点击fragmentB时,它会显示其他内容。

当我再次点击fragmentA时,它将重新渲染图像。如何保存状态,以避免重新渲染?

FragmentA

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);

    }
}

有什么想法吗?

提前致谢!

0 个答案:

没有答案