这是网格视图主页面...... 在GridView上设置自定义适配器... 所有的东西都正常工作,但我想选择多个图像......
gridview=(GridView)findViewById(R.id.gridview_robot_ghost);
gridview.setAdapter(new customGridAdapter(this, GHOST_NUMBER));
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
Toast.makeText(getApplicationContext(), "Your Verification is Succeesfull "+ "\n Selected Ghost Position is "+position, Toast.LENGTH_LONG).show();
}
});
自定义网格适配器:
customGridAdapter extends BaseAdapter{
private Context context;
private final String[] grid_values;
public customGridAdapter(Context context,String[] grid_values)
{
this.context=context;
this.grid_values=grid_values;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return grid_values.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if(convertView==null)
{
gridView=new View(context);
gridView=inflater.inflate(R.layout.grid_item, null);
ImageView imageView = (ImageView) gridView.findViewById(R.id.grid_item_image);
String ghost=grid_values[position];
if (ghost.equals("Ghost1")) {
imageView.setImageResource(R.drawable.ghost4);
} else if (ghost.equals("Ghost2")) {
imageView.setImageResource(R.drawable.ghost4);
} else if (ghost.equals("Ghost3")) {
imageView.setImageResource(R.drawable.ghost3);
} else {
imageView.setImageResource(R.drawable.ghost4);
}
} else {
gridView = (View) convertView;
}
return gridView;
}
答案 0 :(得分:3)
在OnItemClickListener
上将视图背景更改为所选项目&amp;将所选项目添加到某个列表中......
如果已选择项目,则单击特定项目将背景更改为正常&amp;从列表中删除