Level Selection GridView Image
I need to make Level 1 clickable and rest non clickable and when user clicks Level 1 it should make Level 2 clickable and rest non-clickable and so on so forth. Also if user is at Level 5 gridview should be clickable from level 1 to 4
myAdapter = new MyCustomAdapter(getActivity());
gridView.setAdapter(myAdapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
//do something
}
private class MyCustomAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public MyCustomAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
GridObject object = my.get(position);
GridObject revers=reverseobj.get(position);
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item_icon_set, null);
holder = new ViewHolder();
holder.text = (ImageView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
if (check.get(position).equals("true"))
{
holder.text.setImageResource(revers.getName());
}
else {
holder.text.setImageResource(object.getName());
}
return convertView;
}
@Override
public int getCount() {
return my.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
}
public class GridObject extends ArrayList<GridObject> {
private int image;
private int state;
public GridObject(int name, int state) {
super();
this.image = name;
this.state = state;
}
public int getName() {
return image;
}
public void setName(int name) {
this.image = name;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
}
I have Used a Simple Check list boolean = gridview items and It Works....By Default I have set the first value true and the rest value false.......
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long
id)
{
if (clickcheck.get(position).equals(true)) {
//complete some task then
position=position+1;
clickcheck.remove(position);
clickcheck.add(position,true);
}
else
{
Toast.makeText(getActivity(), "Click On Level "+position, Toast.LENGTH_SHORT).show();
}
`