我想首先说这是我的第一个大型Android 应用程序......
我正在使用第三方库SlidingMenu,一切都很好,除了一件事:当用户点击“地下室”菜单中的列表项时,该 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...
}