2011-06-12 8 views
0

내 앱에는 기본 메뉴가 있으며 ListView를 사용하여이 메뉴를 나타냅니다. 메뉴이기 때문에 사용자가 클릭하는 항목을 기반으로 액션을 구현합니다.ListView를 사용하여 메뉴 만들기

내 현재의 구현은 다음과 같습니다

  • strings.xml의에서, 내가 메뉴 항목의 이름의 문자열 배열을 가지고있다. 메인 메뉴의 활동에서
  • , 나는 문자열 배열을 팽창 : itemList = getResources().getStringArray(R.array.main_menu_array); 내가 ListView에 대한 어댑터를 설정 한 다음
  • (itemList에 정적 String[]입니다). listView.setAdapter(new ArrayAdapter<String>(this, R.layout.main_menu_item, itemList)); (R.layout.main_menu_item 각 개별 메뉴 항목의 레이아웃을 지정 그것은 기본적으로 몇 가지 특성을 가진 TextView입니다.)
  • ListView에 대해 OnItemClickListener을 설정했습니다.

익명 OnItemClickListener 클래스는

public void onItemClick(AdapterView<?> parent, View view, int position, 
     long id) { 
    switch (position) { 
    case POS_ITEM_A: 
     ... break; 
    case POS_ITEM_B: 
     ... break; 
    } 
} 

POS_ITEM_APOS_ITEM_B는 각각 0과 1로 설정 final static 변수는 다음과 같이) (onItemClick을 구현한다.

나는 이것이 좋은 코드라고 생각하지 않습니다. 어떻게 해결할 수 있습니까?

답변

1

회 전자와 함께 할 수 있지만 코드는 거의 동일합니다.

또 다른 대안은 간단하지만 확장 성이 떨어지는 것은 AlertDialog.Buidler로 작업하고 setMultipleChoices method을 사용하는 것입니다. 또는이 general documentation page.

하지만 목록보기가 그렇게 나쁘지 않습니다. 작은 기능의 경우 앱의 기본 객체를 조작하거나 목록보기 또는 회 전자를 사용하기위한 대화 작성기를 제안합니다.

+0

그렇다면 메뉴에 세 가지 항목 만 있기 때문에 ListView를 사용하겠습니다. 이 방법은 다소 해킹 된 것으로 느껴지기 때문에 더 좋은 방법이 있었으면 좋겠다. – kibibyte