gpt4 book ai didi

android - 在 android 图像中替换 gridview 中的问题

转载 作者:行者123 更新时间:2023-11-30 03:59:59 25 4
gpt4 key购买 nike

我在这里提供我的代码。我将图像分成 9 个部分,并在 GridView 中显示如何通过单击它们来更改图像,即(第一次单击的图像应替换为第二次单击的图像,反之亦然)我有使用位图数组分割图像并将它们放置在 GridView 中。那么如何通过单击两个图像来更改 GridView 中的图像应该完成图像的交换谁能帮助我。

public class Imagepieces extends Activity {
ArrayList<Bitmap> breakedimages,duplicate;
GridView g;
int i=0,temp,temp2,rpos;

@Override

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);
breakedimages = getIntent().getParcelableArrayListExtra("breaked image");
duplicate = new ArrayList<Bitmap>(breakedimages);
Collections.shuffle(duplicate);
g = (GridView) findViewById(R.id.gridView1);
g.setAdapter(new CutAdapter(this, breakedimages));
g.setNumColumns((int) Math.sqrt(breakedimages.size()));
g.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
//=================================================
{






}
});
}

class CutAdapter extends BaseAdapter {
int iwidth, iheight;
Context context;

public CutAdapter(Imagepieces ipieces, ArrayList<Bitmap> breakedimages) {
// TODO Auto-generated constructor stub
iwidth = breakedimages.get(0).getWidth();
iheight = breakedimages.get(0).getHeight();
context = ipieces;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return duplicate.size();
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return duplicate.get(arg0);
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}

@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
ImageView i=new ImageView(context);

i.setLayoutParams(new GridView.LayoutParams(iwidth +5,iheight +5));
i.setPadding(0, 0, 0, 0);
i.setImageBitmap(duplicate.get(arg0));

return i;
}

}
}



can any one do the need for me as i have stuck here how to move the images among themselves

最佳答案

首先按照@Terril Thomas的选择两张图片进行交换,

这里是交换List中两个Image的方法,

  public void swapImage(Bitmap i1,Bitmap i2){

int position1,position2;
position1 = duplicate.indexOf(i1);
duplicate.remove(position1);
position2 = duplicate.indexOf(i1);
duplicate.remove(position2);

if(position2>position1){
duplicate.add(position2, i1);
duplicate.add(position1, i2);
}
if(position2<position1){
duplicate.add(position1, i2);
duplicate.add(position2, i1);
}
}

像这样改变onCreate

CutAdapter ca = new CutAdapter(this, breakedimages);
g.setAdapter(ca);

比刷新你的适配器

    ca.notifyDataSetChanged();

关于android - 在 android 图像中替换 gridview 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com