80,350
社区成员
发帖
与我相关
我的任务
分享
public class GridItemsAdapter extends BaseAdapter {
// 映射List
private List<Bitmap> mBitmapItemLists;
private Context mContext;
public GridItemsAdapter(Context mContext, List<Bitmap> picList) {
this.mContext = mContext;
this.mBitmapItemLists = picList;
}
@Override
public int getCount() {
return mBitmapItemLists.size();
}
@Override
public Object getItem(int position) {
return mBitmapItemLists.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView iv_pic_item = null;
if (convertView == null) {
iv_pic_item = new ImageView(mContext);
// 设置布局 图片
iv_pic_item.setLayoutParams(new GridView.LayoutParams(
mBitmapItemLists.get(position).getWidth(),
mBitmapItemLists.get(position).getHeight()));
// 设置显示比例类型
iv_pic_item.setScaleType(ImageView.ScaleType.FIT_CENTER);
} else {
iv_pic_item = (ImageView) convertView;
}
iv_pic_item.setImageBitmap(mBitmapItemLists.get(position));
return iv_pic_item;
}
}
public class GridPicListAdapter extends BaseAdapter {
// 映射List
private List<Bitmap> picList;
private Context context;
public GridPicListAdapter(Context context, List<Bitmap> picList) {
this.context = context;
this.picList = picList;
}
@Override
public int getCount() {
return picList.size();
}
@Override
public Object getItem(int position) {
return picList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
ImageView iv_pic_item = null;
int density = (int) SchemeUtils.getDensity(context);
if (convertView == null) {
iv_pic_item = new ImageView(context);
// 设置布局 图片
iv_pic_item.setLayoutParams(new GridView.LayoutParams(
80 * density,
100 * density));
// 设置显示比例类型
iv_pic_item.setScaleType(ImageView.ScaleType.FIT_XY);
} else {
iv_pic_item = (ImageView) convertView;
}
iv_pic_item.setBackgroundColor(Color.BLACK);
iv_pic_item.setImageBitmap(picList.get(position));
return iv_pic_item;
}
}
@Override
protected void onDestroy() {
if (mMediaPlayer != null) {
mMediaPlayer.stop();
}
super.onDestroy();
}
mGvPuzzleMainDetail.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view,
int position, long arg3) {
// 判断是否可移动
if (GameUtil.isMoveable(position)) {
// 交换点击Item与空格的位置
GameUtil.swapItems(
GameUtil.mItemBeans.get(position),
GameUtil.mBlankItemBean);
// 重新获取图片
recreateData();
// 通知GridView更改UI
mAdapter.notifyDataSetChanged();
// 更新步数
COUNT_INDEX++;
mTvPuzzleMainCounts.setText("" + COUNT_INDEX);
// 判断是否成功
if (GameUtil.isSuccess()) {
// 将最后一张图显示完整
recreateData();
mBitmapItemLists.remove(TYPE * TYPE - 1);
mBitmapItemLists.add(mLastBitmap);
// 通知GridView更改UI
mAdapter.notifyDataSetChanged();
Toast.makeText(PuzzleActivity.this, "小朋友, 恭喜你拼图成功!",
Toast.LENGTH_LONG).show();
mGvPuzzleMainDetail.setEnabled(false);
mTimer.cancel();
mTimerTask.cancel();
mMediaPlayer.stop();
}
}
}
});
mMediaPlayer.stop();放在 放在了这里,这样的话点进去游戏后只有完成游戏才会停止音乐。如果返回还是会播放音乐。这个有办法解决吗哥哥。