1

以下のコード (わかりやすくするために短縮) では、デバイスを回転させると、アダプター変数が null を受け取り、gridView 変数が null を受け取ります。

デバイス画面を回転させた後、アダプターと gridView を維持するのを手伝ってくれる人はいますか?

感謝。

(下手な英語でごめんなさい)

    public class FlickrXmlFragment extends Fragment {

    private GridView gridView;
    private FlickrGridViewAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        //...
        View view = darkInflater.inflate(R.layout.fragment_flickr_xml,
                container, false);
        //...
        gridView = (GridView) view.findViewById(R.id.flickr_gridView);

        return view;
    }

    class FlickrPhotoSearchThread extends
            AsyncTask<String, Void, List<FlickrImagem>> {

        @Override
        protected void onPreExecute() { //... process...    }

        @Override
        protected List<FlickrImagem> doInBackground(String... params) { //process... }

        @Override
        protected void onPostExecute(List<FlickrImagem> result) {
            //...
            adapter = new FlickrGridViewAdapter(getActivity(), 0, result);
            gridView.setAdapter(adapter);
            adapter.notifyDataSetChanged();
            //...
        }
    }
}
4

1 に答える 1

-1

アクティビティの向きの変更を処理します。

これを参照してください: http://developer.android.com/guide/topics/manifest/activity-element.html#config

アクティビティを次のように宣言します。

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">
于 2013-02-05T13:53:12.960 に答える