2012-07-14 3 views
1

Android 개발에 새로운 기능이며 목록보기 항목에 옵션을 제공하는 가장 좋은 방법은 무엇입니까? Bada OS에서 모든 목록보기 항목을 가로로 밀고 해당 항목의 옵션에 액세스 할 수 있습니다. http://horrorcoding.altervista.org/developing-on-bada-2-0-%E2%80%93-how-to-use-listcontextitems-in-a-listviewgroupedlistview/Android : 목록보기 항목에 대한 옵션을 제공하는 가장 좋은 방법

하지만 Android에는 존재하지 않습니다. 그렇게하는 방법? 내 주요 활동에 목록보기가 있습니다. 항목을 클릭하면 클릭 한 항목의 세부 정보가 포함 된 새로운 활동이 열립니다.

주 활동에서 항목을 삭제하거나 수정할 수 있어야합니다. 그래서 내 아이디어 :

idea1 : 나는 항목의 오른쪽 상단 모서리에 작은 편집 아이콘을 넣어,이에 사용자가 클릭, 내가 편집과 QuickAction을 표시 할 때/옵션을 삭제합니다. http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/ 사용자가 항목의 다른 부분을 클릭하면 세부 정보 활동을 열면됩니다.

아이디어 2 : 항목을 길게 누르면 컨텍스트 메뉴가 사용됩니다. 그러나이 옵션은 사용자에게 보이지 않기 때문에 항목에 대해 오랫동안 누르는 것을 어떻게 알 수 있습니까?

당신은 어떻게 생각하십니까?

답변

4

일반적인 방법은 목록에 대한 컨텍스트 메뉴를 만드는 것입니다 (목록 항목을 길게 클릭하여 활성화).

"컨텍스트 메뉴를 길게 누르십시오"는 Android 표준입니다. 모든 사용자는이를 인식하고 표시기 (IMO)를 제공 할 필요가 없습니다. Android 앱을 제작 중이므로 Android 컨벤션을 계속 사용합니다. :)

당신이 그것을 구현하는 방법을 알고처럼 소리를하지만, 경우에 당신이 그나마 ...

첫째, 당신은 상황에 맞는 메뉴에 대한 목록을 등록 :

... 
setListAdapter(lists); 
registerForContextMenu(getListView()); 

는 그런 다음 코드를 제공 상황에 맞는 메뉴를 만들 하다며 (너무하는 XML 자원에서 만들 수 있지만 그 편리의 예를 가지고 있지 않음) :

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
     ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    menu.setHeaderTitle("Item Operations"); 
    menu.add(0, v.getId(), 0, "Edit Item"); 
    menu.add(0, v.getId(), 0, "Delete Item"); 
} 

는 그런 다음 메뉴의 옵션을 처리 할 수있는 코드를 제공 :

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item 
      .getMenuInfo(); 
    if (item.getTitle() == "Edit Item") { 
     mRowId = info.id; 
     DialogFragment_Item idFragment = new DialogFragment_Item(); 
     idFragment.show(getFragmentManager(), "dialog"); 
    } else if (item.getTitle() == "Delete Item") { 
     mDbHelper.deleteItem(info.id); 
     return true; 
    } 
    return super.onContextItemSelected(item); 
} 
+0

답을 고맙게 생각하며, 나는 상황에 맞는 메뉴를 할 것입니다. 비록 개인적으로, 나는 더 나은 방법을 사랑합니다 :) – Zotyi

0

항목을 길게 누르면 옵션을 구현하는 가장 일반적인 방법이므로 사용자는 이러한 종류의 문제에 대해 알고 있습니다. 나는 이것이 따르는 방법이라고 생각한다. 그러나 버튼을 구현하거나 길게 누르는 것과 같은 옵션 (예 : 공식 트위터 앱)을 보여주는 슬라이드 동작을 구현할 수도 있습니다.

+0

답변을 주셔서 감사합니다. 그러면 상황에 맞는 메뉴가 나옵니다. 개인적으로, 나는 Bada way를 더 좋아합니다 :) – Zotyi