이미지를 분할하고 격자보기로 배치 중입니다. 격자보기에서 두 개의 이미지를 클릭 할 때, 나는 그들의 위치를 교환하고 싶다. 나는 위치를 바꿀 수 있지만 이미지는 변하지 않습니다. 비트 맵 배열을 사용하여 이미지를 분할하고 격자보기로 배치했습니다. 그러면 두 개의 이미지를 클릭하여 그리드보기에서 이미지를 어떻게 변경합니까? 이미지 교환은 어떻게해야합니까? 어느 누구가 나를 도울 수 있습니까?안드로이드에서 위치가 바뀌면서 그리드보기에서 이미지를 변경하는 방법은 무엇입니까?
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;
}
}
}
그리드보기에서 이미지를 전환하는 방법은 무엇입니까? 첫 번째 클릭에서 격자보기를 클릭하면 위치를 가져와야하고 두 번째 위치는 두 번째 위치를 클릭해야합니다. 그런 다음 두 위치의 이미지를 모두 변경 한 후 두 이미지가 동일한 경우 스플릿 된 이미지와 비교하고 싶습니다. 그런 다음 게임이 끝나면 축배를 보여주고 싶습니다. 아무도 도와 줄 수 있습니까
나는 비슷한 질문에 답했다. 이것을 확인하십시오 http://stackoverflow.com/a/12669463/1443981 – Aswin