Update unlocked puzzles fixed.

This commit is contained in:
2013-06-24 01:41:24 +04:00
parent 78c58c8ef6
commit edc9092a6a

View File

@@ -34,25 +34,26 @@ import org.dyndns.vahagn.sokoban.play.PlayActivity;
/** /**
* *
* @author vahagnk
*/ */
public class PuzzleListFragment extends Fragment public class PuzzleListFragment extends Fragment
{ {
protected GridView puzzle_grid; protected GridView puzzleGrid;
GestureDetector gridViewXScrollDetector; protected PuzzlesAdapter puzzleGridAdapter;
protected GestureDetector gridViewXScrollDetector;
OnPuzzleListAction lister; protected OnPuzzleListAction actionListener;
/*
* These are events which the fragments delegates to activity.
*/
public interface OnPuzzleListAction public interface OnPuzzleListAction
{ {
public boolean onPuzzleGridDown(); public boolean onPuzzleGridDown();
public boolean onPuzzleGridXScroll( float x ); public boolean onPuzzleGridXScroll( float x );
public void onPuzzleLevelClicked( int level ); public void onPuzzleLevelClicked( int level );
} }
public void setOnPuzzleListAction( OnPuzzleListAction l ) public void setOnPuzzleListAction( OnPuzzleListAction l )
{ {
lister = l; actionListener = l;
} }
@Override @Override
@@ -63,16 +64,16 @@ public class PuzzleListFragment extends Fragment
// //
// Configure GridView. // Configure GridView.
// //
puzzle_grid = (GridView)v.findViewById(R.id.puzzle_grid); puzzleGrid = (GridView)v.findViewById(R.id.puzzle_grid);
puzzle_grid.setAdapter( new PuzzlesAdapter(getActivity()) ); puzzleGridAdapter = new PuzzlesAdapter(getActivity());
//puzzle_grid.addView(puzzle_grid); puzzleGrid.setAdapter( puzzleGridAdapter );
puzzle_grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { puzzleGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{ {
onPuzzleClicked(v,(int)id); onPuzzleClicked(v,(int)id);
} }
}); });
puzzle_grid.setOnTouchListener( new View.OnTouchListener() { puzzleGrid.setOnTouchListener( new View.OnTouchListener() {
public boolean onTouch(View view, MotionEvent me) { public boolean onTouch(View view, MotionEvent me) {
gridViewXScrollDetector.onTouchEvent( me ); gridViewXScrollDetector.onTouchEvent( me );
return false; return false;
@@ -80,28 +81,28 @@ public class PuzzleListFragment extends Fragment
}); });
gridViewXScrollDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() { gridViewXScrollDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
public boolean onDown(MotionEvent e) { public boolean onDown(MotionEvent e) {
return (lister!=null) ? lister.onPuzzleGridDown() : false; return (actionListener!=null) ? actionListener.onPuzzleGridDown() : false;
} }
public boolean onScroll(MotionEvent e1, MotionEvent e2, float dx, float dy) { public boolean onScroll(MotionEvent e1, MotionEvent e2, float dx, float dy) {
return (lister!=null) ? lister.onPuzzleGridXScroll(dx) : false; return (actionListener!=null) ? actionListener.onPuzzleGridXScroll(dx) : false;
} }
}); });
return v; return v;
} }
public void onPuzzleClicked(View v, int level )
{
if (lister!=null)
lister.onPuzzleLevelClicked(level);
}
@Override @Override
public void onResume() public void onResume()
{ {
super.onResume(); super.onResume();
if ( puzzle_grid != null ) if ( puzzleGrid != null )
puzzle_grid.invalidate(); puzzleGridAdapter.notifyDataSetChanged();
}
public void onPuzzleClicked(View v, int level )
{
if (actionListener!=null)
actionListener.onPuzzleLevelClicked(level);
} }
public class PuzzlesAdapter extends BaseAdapter public class PuzzlesAdapter extends BaseAdapter
@@ -168,7 +169,6 @@ public class PuzzleListFragment extends Fragment
imageView = new ImageView(context); imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(icon_size, icon_size)); imageView.setLayoutParams(new GridView.LayoutParams(icon_size, icon_size));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
// imageView.setPadding(8, 8, 8, 8);
} }
else else
imageView = (ImageView) convertView; imageView = (ImageView) convertView;