永发信息网

一个GridView,点击能够互换,执行报LinearLayout cannot be cast to android.widget.GridView这个错误

答案:2  悬赏:20  手机版
解决时间 2021-01-27 14:31
  • 提问者网友:温旧梦泪无声
  • 2021-01-26 21:54
private Random random;
private GridView gridView;
private List>dataList;
private int[] icon={R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,R.drawable.img05,R.drawable.img06};
private SimpleAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView=(GridView) findViewById(R.id.gridView);
gridView.setOnItemClickListener(this);
dataList=new ArrayList>();

getData();
adapter=new SimpleAdapter(MainActivity.this, getData(), R.layout.item, new String[]{"image","text"}, new int[]{R.id.image});
gridView.setAdapter(adapter);
}
private List> getData() {
for(int i=1;i<=50;i++)
{
Mapmap=new HashMap();
random=new Random();
int a=random.nextInt(6);
map.put("image", icon[a]);
//map.put("text", iconName[i]);
dataList.add(map);
}
return dataList;
}
private ImageView imageFirst;
private ImageView imageSecond;
private int firstX;
private int firstY;
private int secondX;
private int secondY;
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
if(imageFirst==arg1)
{

imageFirst.setColorFilter(null);
imageFirst=null;
return;
}
if (imageFirst == null) {
imageFirst = (ImageView) arg1;
firstX = (int) arg1.getX();
firstY = (int) arg1.getY();
imageFirst.setColorFilter(Color.parseColor("#55ff0000"));
} else {
imageSecond = (ImageView) arg1;
secondX = (int) arg0.getX();
secondY = (int) arg0.getY();
exchange(imageFirst,imageSecond);
imageFirst.setColorFilter(null);
imageFirst=null;
imageSecond=null;
}

}
private void exchange(ImageView image1,ImageView image2)
{
image1.setX(secondX);
image1.setY(secondY);
image2.setX(firstX);
image2.setY(firstY);

return;
}
最佳答案
  • 五星知识达人网友:七十二街
  • 2021-01-26 23:30
gridView=(GridView) findViewById(R.id.gridView);
你这个R.id.gridView是GridView吗
全部回答
  • 1楼网友:傲气稳了全场
  • 2021-01-26 23:43
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯