2011-08-26 2 views
4

내 코드에 ListActivity이 있습니다. 목록 항목의 상황에 맞는 메뉴 옵션 중 하나는 "삭제"로, 작업을 확인하는 대화 상자가 열립니다. 먼저 데이터베이스에서 항목의 데이터를 삭제 한 다음 ArrayAdapter에서 제거하여이 기능을 구현하려고했습니다. 그것은ArrayAdapter.remove를 사용하는 UnsupportedOperationException

public void onClick(DialogInterface dialog, int id) 
{ 
    asynchronousDeleteEntry(CONTEXT_SELECTED_ID); 
    dialog.dismiss();       

    //I -know- that the adapter will always be an object 
    //of ArrayAdapter<JournalEntry> because this is the only type 
    //I ever call setListAdapter with. Debugging confirms this 
    @SuppressWarnings("unchecked") 
    final ArrayAdapter<JournalEntry> adapter = (ArrayAdapter<JournalEntry>) 
     journalViewerListActivity.this.getListAdapter(); 

    //EXCEPTION OCCURS HERE         
    adapter.remove(adapter.getItem(CONTEXT_SELECTED_POSITION)); 

    //refreshes the ListView to show the new items 
    adapter.notifyDataSetChanged(); 

... 내가 UnsupportedOperationException을받을 것을 ArrayAdapter에서 제거에 감사 어떤 도움이다. 감사합니다.

답변

-1

final으로 선언 된 목록을 수정하려고합니다. 컴파일러가 경고하려고했지만 경고를 표시하지 않았습니다. @SuppressWarnings("unchecked")

+0

"최종"의 의미는 아닙니다. 그것은 C++ "const"와는 다릅니다. – mhsmith

관련 문제