ScreenShot[1340691400][100789].png ScreenShot[1340691404][681104].png ScreenShot[1340691349][524212].png 


위 그림은 '네이버부동산'에서 지역 설정을 하는 페이지의 캡쳐화면입니다.

각 페이지에서 서울시-강남구-논현동 이런식으로 지역을 선택할 수 있게 만들어졌네요.


제가 만들고 있는 어플에도 같은 방식으로 지역설정을 입력 받을 수 있는 페이지를 만들고 있는데, 생초보라 이걸 어떻게 만들어야하나 계속 고민하고 있었습니다. 그러다 그리드뷰를 사용하여 만들면 쉽다고 하여 도전해봤는데 도무지 되지가 않네요.

고수님들의 도움 부탁드립니다.


제가 구상한 방법은 아래와 같습니다.


먼저 각 지역 이름을 arraylist.xml로 만들었습니다.

 arraylist.jpg


그리고, 첫번째 페이지(서울 경기 부산 등등)를 아래와 같이 그리드뷰로 셋팅했습니다.

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.selectarea);

//그리드뷰 셋팅

gridView01 = (GridView)findViewById(R.id.gridview01);

areaList01 = getResources().getStringArray(R.array.KcityName);

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, areaList01);

gridView01.setAdapter(adapter);

//그리드뷰 클릭이벤트 처리

gridView01.setOnItemClickListener(new OnItemClickListener() {


@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

long arg3) {

String Aname = areaList01[arg2];

Toast.makeText(selectArea.this, Aname, Toast.LENGTH_SHORT)

.show();

Intent intent = new Intent(selectArea.this, selectArea02.class);

intent.putExtra("city", Aname);

startActivity(intent);

}

});

}//end onCreate


그리고, 클릭이벤트로 선택된 지역이름을 인텐트를 써서 다음페이지로 보내고, 다음(구/군) 페이지에서는 인텐트로 받은 데이터를 바탕으로 그리드뷰에 뿌려질 리스트를 선택할 수 있도록 구상했습니다.


 select02-1.jpg select02-2.jpg


그런데 보시는 바와같이 switch문의 인자로 string을 쓰면 안된다고하면서 에러가 발생하네요.

혹시나 싶어서 if문으로 바꿔도 마찬가지구요.

역시 초보라 이런데서 막히면 아무것도 할 수가 없어요 ㅠㅠ


이걸 단순히 에러를 잡는 방법으로 수정이 가능한지... 아니면 구상 자체가 잘 못 되었는지 고수님들의 조언 부탁드립니다.

또, 이런식으로 시/ 구/ 동 등 지역을 입력 받을 수 있는 일반적인 다른 방법이 있다면 좀 가르쳐주세요. 내용이 많다면 어떻게 공부해야 하는지 어디가면 알 수 있는지라도..


어플 개발이라는건 정말 산너머 산인거 같네요.