0

これが私の最初の大きなAndroidアプリだと言うことから始めたいと思います...

私はサードパーティのライブラリSlidingMenuを使用していますが、1つを除いてすべてがうまく機能しています。ユーザーが「地下室」メニューのリスト項目をタップすると、そのListFragmentが破棄されます。ListFragmentのすべての構築/分解メソッドにログを設定して、アクティビティをログに記録します。これは、タッチイベントがいつ発生したかを示すために編集されたログの画像です。

ここに画像の説明を入力してください

私のListFragmentクラスは次のように設定されています。

public class BasementFragment extends ListFragment implements PictureCallback {
    BasementAdapter mAdapter;
    RelativeLayout mHeader;
    ArrayList<String> titles;
    ImageView mImageButton;

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Log.d("BASEMENTFRAGMENT", "onCreateView");
    ListView view = (ListView) inflater.inflate(R.layout.basement, null);
    mHeader = (RelativeLayout) inflater.inflate(R.layout.basement_header, null);
    view.addHeaderView(mHeader);

    mImageButton = (ImageView) mHeader.findViewById(R.id.image_button);
    mImageButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            pickImage();
        }
    });

    ParseFile imageFile = (ParseFile) ParseUser.getCurrentUser().get(NJUser.IMAGE_KEY);
    if (imageFile != null) {
        imageFile.getDataInBackground(new GetDataCallback() {

            @Override
            public void done(byte[] data, ParseException e) {
                InputStream is = new ByteArrayInputStream(data);
                Bitmap bmp = BitmapFactory.decodeStream(is);
                mImageButton.setImageBitmap(bmp);
            }
        });
    }

    return view;
}
    // touch logic and other stuff...
}
4

1 に答える 1

0

SlideMenuオブジェクトを設定した、背後のビューをリセットし、フラグメントを変更していたことがわかりました。私が物事の設定方法の順序を変更した後、バム、永続性、そして何も破壊されません!

于 2013-01-18T22:57:44.860 に答える