2011-04-13 5 views
0

좋아하는 항목 목록을 표시하는 데 다음 코드를 사용했습니다. 그것은 컨텍스트 메뉴를 통해 삭제 기능이 있습니다.android SimpleCursorAdapter no item msg

@Override 
    public void onCreate(Bundle savedInstanceState) { 

    ......................... 
    ......................... 

     wordDataHelper = new WordDataHelper(getApplicationContext()); 
     favCursor = wordDataHelper.getCursorFav(); 
     startManagingCursor(favCursor); 
     // Now create a new list adapter bound to the cursor. 
     // SimpleListAdapter is designed for binding to a Cursor. 
     favAdapter = new SimpleCursorAdapter(
       this, // Context. 
       android.R.layout.simple_list_item_1, 
       favCursor,            // Pass in the cursor to bind to. 
       new String[] {WordDataHelper.ENGWORD},   // Array of cursor columns to bind to. 
       new int[] {android.R.id.text1}); // Parallel array of which template objects to bind to those columns. 

     // Bind to our new adapter. 
     setListAdapter(favAdapter); 

     list = getListView(); 


list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 
      // @Override 
      public void onCreateContextMenu(ContextMenu menu, View v, 
        ContextMenu.ContextMenuInfo menuInfo) { 
       menu.setHeaderTitle("Context Menu"); 
       menu.add(0, CONTEXT_DELETE, 1, "Delete Item"); 
      } 
     }); 

     list.setTextFilterEnabled(true); 

     list.setClickable(true); 

     .................. 
    .................. 
} 

public boolean onContextItemSelected(MenuItem item) { 

     AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item 
       .getMenuInfo(); 
     final Long wordId = menuInfo.id; 
     // selected_row = menuInfo.position; 

     // To get the id of the clicked item in the list use menuInfo.id 
     switch (item.getItemId()) { 
     case CONTEXT_DELETE: 
      deleteRes(wordId); 
      favCursor = wordDataHelper.getCursorFav(); 
      ((SimpleCursorAdapter) favAdapter).changeCursor(favCursor); 
      break; 
     default: 
      return super.onContextItemSelected(item); 

     } 


     return true; 
    } 

모든 것이 잘 작동합니다. 이제 목록에 항목이 없을 때 "No favorite item"메시지를 표시하고 싶습니다. 어떻게 준비할까요?

답변