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