public class MainActivity extends ActionBarActivity
implements GridView.OnItemClickListener
{
private ArrayList<Bitmap> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
list = new ArrayList<Bitmap>();
Resources res = getResources();
list.add(BitmapFactory.decodeResource(res, R.drawable.rest)); //식당 술집 오락 카페
list.add(BitmapFactory.decodeResource(res, R.drawable.drink));
list.add(BitmapFactory.decodeResource(res, R.drawable.ent));
list.add(BitmapFactory.decodeResource(res, R.drawable.cafe));
GridView gv = new GridView(this);
gv.setBackgroundColor(Color.WHITE);
gv.setNumColumns(2);
gv.setAdapter(new MyAdapter());
gv.setOnItemClickListener(this);
setContentView(gv);
}
private class MyAdapter extends BaseAdapter{
@Override
public int getCount(){
return list.size();
}
@Override
public Bitmap getItem(int pos){
return list.get(pos);
}
@Override
public long getItemId(int pos){
return pos;
}
@Override
public View getView(int pos, View convertView, ViewGroup parent){
if(convertView == null){
ImageView iv = new ImageView(MainActivity.this);
iv.setLayoutParams(new GridView.LayoutParams(170,170));
iv.setPadding(20, 0, 20, 0);
iv.setImageBitmap(list.get(pos));
convertView = iv;
}
return convertView;
}
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
if(id==0){
Intent i = new Intent(this, SubActivity.class);
startActivity(i);
}
else if(id==1){
Intent t = new Intent(this, ThreeActivity.class);
startActivity(t);
}
else if(id==2){
Intent t = new Intent(this, Ent.class);
startActivity(t);
}
else {
Intent t = new Intent(this, ThreeActivity.class);
startActivity(t);
}
}
}
그리드뷰를 통해서 2개씩 2줄로 총 4개의 이미지 넣고 각각의 이미지 클릭시 액티비티가 전환되게끔 만들려고 하는데
첫번째줄 2개는 제대로 가능한데 두번째줄은 누르면 에러발생하네요 ㅠ id문제 같은데 어떻게 설정해야할까요...
개발이 처음이라 혹시 다른 효율적으로 만들수 있는 방법도 있을까요?