0

長按手勢在ListFragment中不起作用與結合使用AdapterView.OnItemLongClickListener。我正試圖在即將到來的單擊中實現像長時間點擊選擇和連續選擇那樣的GMail。OnItemLongClickListener()不會導致ListFragment中的日誌輕敲手勢

的ListFragment聲明如下:

public class VacationListFragment extends ListFragment implements View.OnClickListener, 
    ActionMode.Callback, AdapterView.OnItemClickListener, 
    AdapterView.OnItemLongClickListener, AbsListView.MultiChoiceModeListener, { 

ListFragment加載從DB與SimpleCursorAdapter數據如下:

mAdapter = new SimpleCursorAdapter(getActivity(), R.layout.vacationlist_row_item, null, 
        fromColumns, toView, 0); 
mVacationListView.setAdapter(mAdapter); 

目前的情況:

單的CAB顯示了提供菜單(刪除)並且操作正在工作。下面的截圖貼:

Screenshot here

我相信我們是非常接近的解決方案和任何輸入,將不勝感激。 如果我不是教育學習的話,可以隨時ping。謝謝。

+0

從下面鏈接找到最好的例子ua/com/springbyexample/fragment/MainListFragment.java 因此解決了這個任務。 – faisalm

回答

0

樣品:

textView.setOnLongClickListener(new View.OnLongClickListener() { 
      @Override 
      public boolean onLongClick(View v) { 
       /*do action */ 
       return false; 
      } 
     }); 
0

mVacationListView.setOnLongClickListener(this)到你的代碼。然後你將能夠處理點擊使用:

@Override 
public boolean onLongClick(View v) { 
    return false; 
} 
+0

當前偵聽器實現 'mSpamListView = getListView(); mSpamListView.setEmptyView(getActivity()findViewById(R.id.empty)。); mSpamListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); mSpamListView.setItemsCanFocus(假); mSpamListView.setOnItemClickListener(本); mSpamListView.setOnItemLongClickListener(本); mSpamListView。setMultiChoiceModeListener(本); ' – faisalm

+0

它應該不是在監聽器中,而是在onCreateView或onAttach –

0

我想你想列表項點擊你的片段。請嘗試下面的代碼。

  1. 將此代碼添加到您的適配器中。

    mVacationListView.setOnLongClickListener(your fragment instance); 
    
  2. 處理片段中的覆蓋方法。

    @Override 
    public boolean onLongClick(View v) { 
        return false; 
    } 
    

如果你喜歡這款然後將列表項長按監聽器將處理你的片段。

+0

你可以參考我可以使用的任何樣本。謝謝 – faisalm

+0

您好faisalm請檢查下面的鏈接。示例代碼也可用。 http://www.vogella.com/tutorials/AndroidListView/article.html – EKN