禁用ViewTouchHelper作为视图的一部分

时间:2015-09-28 07:53:22

标签: android android-viewpager android-recyclerview

我有这个RecyclerView,其视图符号有一个标题/ TextView和一个ViewPager。

使用ItemTouchHelper可以清除RecyclerView中的项目。

我想禁用viewpager的滑动部分,但是如果你开始拖动标题/ TextView则不会。

知道如何仅针对视图的一部分禁用滑动的任何人?

我可以通过这种方式禁用用ItemTouchHelper滑动整个视图:

ItemTouchHelper()...
@Override
public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder)
{
    if (viewHolder instanceof UnswipeableViewHolder)
    {
        return 0;
    }
}

return super.getSwipeDirs(recyclerView, viewHolder);

但是如何仅为ViewHolder的一部分禁用它?

2 个答案:

答案 0 :(得分:6)

试试此代码

 @using (Ajax.BeginForm("LogPartialView", "LogModelsController",
          new AjaxOptions
          {
          HttpMethod = "POST",
          InsertionMode = InsertionMode.Replace,
          UpdateTargetId = "divLogs"
      }, new
      {
         id = "NewTableId"
       )){
     <p>
       <b>Message:</b> @Html.TextArea("SearchString")
       <input type="submit" id="submit" name="submit" value="Search" />
     </p>
     }<div id="divLogs">
     @RenderBody()
     @Html.Raw(ViewBag.Data)
     </div>

答案 1 :(得分:4)

通过在子viewpager上添加requestDisallowInterceptTouchEvent(true)来解决我的问题:

LinkedList