android.widget.ListView.getChildAt()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(272)

本文整理了Java中android.widget.ListView.getChildAt()方法的一些代码示例,展示了ListView.getChildAt()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ListView.getChildAt()方法的具体详情如下:
包路径:android.widget.ListView
类名称:ListView
方法名:getChildAt

ListView.getChildAt介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

private static int save = -1;

public void onListItemClick(ListView parent, View v, int position, long id) { 

  parent.getChildAt(position).setBackgroundColor(Color.BLUE);

  if (save != -1 && save != position){
    parent.getChildAt(save).setBackgroundColor(Color.BLACK);
  }

  save = position;                

}

代码示例来源:origin: Naoki2015/CircleDemo

@Override
public View getChildAt(int position) {
  return mListView.getChildAt(position);
}

代码示例来源:origin: stackoverflow.com

@Override
public void onListItemClick(ListView l, View v, int position, long id) {

  if (firstTimeStartup) {// first time  highlight first row
    currentSelectedView = l.getChildAt(0);
  }
  firstTimeStartup = false; 
  if (currentSelectedView != null && currentSelectedView != v) {
    unhighlightCurrentRow(currentSelectedView);
  }

  currentSelectedView = v;
  highlightCurrentRow(currentSelectedView);

   //other codes
}

代码示例来源:origin: stackoverflow.com

public View getViewByPosition(int pos, ListView listView) {
  final int firstListItemPosition = listView.getFirstVisiblePosition();
  final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;

  if (pos < firstListItemPosition || pos > lastListItemPosition ) {
    return listView.getAdapter().getView(pos, null, listView);
  } else {
    final int childIndex = pos - firstListItemPosition;
    return listView.getChildAt(childIndex);
  }
}

代码示例来源:origin: joyoyao/superCleanMaster

public static int getScrollY(ListView lv) {
  View c = lv.getChildAt(0);
  if (c == null) {
    return 0;
  }
  int firstVisiblePosition = lv.getFirstVisiblePosition();
  int top = c.getTop();
  int scrollY = -top + firstVisiblePosition * c.getHeight();
  return scrollY;
}

代码示例来源:origin: joyoyao/superCleanMaster

private int calculateScrollYList() {
  View c = mListView.getChildAt(0);
  if (c == null) {
    return 0;
  }
  //TODO support more than 1 header?
  int firstVisiblePosition = mListView.getFirstVisiblePosition();
  int top = c.getTop();
  int headerHeight = 0;
  if (firstVisiblePosition >= 1) { //TODO >= number of header
    headerHeight = mHeightHeader;
  }
  return -top + firstVisiblePosition * c.getHeight() + headerHeight;
}

代码示例来源:origin: GitLqr/LQRWeChat

/**
 * 判断mContentView是否处于顶部
 *
 * @return
 */
private boolean checkIsTop() {
  int childCount = mContentView.getChildCount();
  if (childCount > 0) {
    View firstChild = mContentView.getChildAt(0);
    if (firstChild.getTop() >= 0
        && firstItem == 0 && currentTop == 0) {
      return true;
    } else return false;
  } else {
    return false;
  }
}

代码示例来源:origin: daimajia/AndroidSwipeLayout

@Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    ((SwipeLayout)(mListView.getChildAt(position - mListView.getFirstVisiblePosition()))).open(true);
  }
});

代码示例来源:origin: GitLqr/LQRWeChat

/**
 * 判断是否需要拦截触摸事件
 *
 * @return
 */
private boolean shouldIntercept() {
  if (bDraging) return true;
  int childCount = mContentView.getChildCount();
  if (childCount > 0) {
    View firstChild = mContentView.getChildAt(0);
    if (firstChild.getTop() >= 0
        && firstItem == 0 && currentTop == 0
        && bScrollDown) {
      return true;
    } else return false;
  } else {
    return true;
  }
}

代码示例来源:origin: stackoverflow.com

public View getViewByPosition(int position, ListView listView) {
  final int firstListItemPosition = listView.getFirstVisiblePosition();
  final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;

  if (position < firstListItemPosition || position > lastListItemPosition ) {
    return listView.getAdapter().getView(position, null, listView);
  } else {
    final int childIndex = position - firstListItemPosition;
    return listView.getChildAt(childIndex);
  }
}

代码示例来源:origin: stackoverflow.com

ListView list = getListView();
int start = list.getFirstVisiblePosition();
for(int i=start, j=list.getLastVisiblePosition();i<=j;i++)
  if(target==list.getItemAtPosition(i)){
    View view = list.getChildAt(i-start);
    list.getAdapter().getView(i, view, list);
    break;
  }

代码示例来源:origin: stackoverflow.com

ListView list = getListView();
int start = list.getFirstVisiblePosition();
for(int i=start, j=list.getLastVisiblePosition();i<=j;i++)
  if(target==list.getItemAtPosition(i)){
    View view = list.getChildAt(i-start);
    list.getAdapter().getView(i, view, list);
    break;
  }

代码示例来源:origin: alexvasilkov/GestureViews

@Override
  public View getViewAt(int position) {
    View itemView = list.getChildAt(position - list.getFirstVisiblePosition());
    return itemView == null ? null : ListAdapter.getImageView(itemView);
  }
};

代码示例来源:origin: cSploit/android

@Override
  public void run() {
    if (lv == null)
      return;
    synchronized (this) {
      int start = lv.getFirstVisiblePosition();
      int end = Math.min(lv.getLastVisiblePosition(), list.size());
      for (int i = start; i <= end; i++)
        if (target == list.get(i)) {
          View view = lv.getChildAt(i - start);
          getView(i, view, lv);
          break;
        }
    }
  }
});

代码示例来源:origin: stackoverflow.com

public static int dpToPx(int dp, Context ctx) {
  Resources r = ctx.getResources();
  return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics());
}
//originally: http://stackoverflow.com/questions/5418510/disable-the-touch-events-for-all-the-views
//modified for the needs here
public static void enableDisableViewGroup(ViewGroup viewGroup, boolean enabled) {
  int childCount = viewGroup.getChildCount();
  for (int i = 0; i < childCount; i++) {
    View view = viewGroup.getChildAt(i);
    if(view.isFocusable())
      view.setEnabled(enabled);
    if (view instanceof ViewGroup) {
      enableDisableViewGroup((ViewGroup) view, enabled);
      } else if (view instanceof ListView) {
        if(view.isFocusable())
          view.setEnabled(enabled);
        ListView listView = (ListView) view;
        int listChildCount = listView.getChildCount();
        for (int j = 0; j < listChildCount; j++) {
          if(view.isFocusable())
            listView.getChildAt(j).setEnabled(false);
          }
        }
    }
  }

代码示例来源:origin: wangdan/AisenWeiBo

public void show() {
  int top = 0;
  if (getRefreshView().getChildCount() > 0 && getRefreshView().getChildAt(0).getHeight() > 0) {
    top = getRefreshView().getChildAt(0).getHeight() * 3;
  }
  else {
    top = Utils.dip2px(getActivity(), 175);
  }
  getRefreshView().setSelectionFromTop(selectedPosition, top);
}

代码示例来源:origin: stackoverflow.com

ListView listView;
Runnable fitsOnScreen = new Runnable() {
  @Override
  public void run() {
    int last = listView.getLastVisiblePosition();
    if(last == listView.getCount() - 1 && listView.getChildAt(last).getBottom() <= listView.getHeight()) {
      // It fits!
    }
    else {
      // It doesn't fit...
    }
  }
};

代码示例来源:origin: robolectric/robolectric

@Test
public void setAdapter_shouldNotClearHeaderOrFooterViews() throws Exception {
 View header = new View(context);
 listView.addHeaderView(header);
 View footer = new View(context);
 listView.addFooterView(footer);
 prepareListWithThreeItems();
 assertThat(listView.getChildCount()).isEqualTo(5);
 assertThat(listView.getChildAt(0)).isSameAs(header);
 assertThat(listView.getChildAt(4)).isSameAs(footer);
}

代码示例来源:origin: robolectric/robolectric

@Test
public void getPositionForView_shouldReturnThePositionInTheListForTheView() throws Exception {
 prepareWithListAdapter();
 View childViewOfListItem = ((ViewGroup) listView.getChildAt(1)).getChildAt(0);
 assertThat(listView.getPositionForView(childViewOfListItem)).isEqualTo(1);
}

代码示例来源:origin: robolectric/robolectric

@Test
public void findItemContainingText_shouldFindChildByString() throws Exception {
 ShadowListView shadowListView = prepareListWithThreeItems();
 View item1 = shadowListView.findItemContainingText("Item 1");
 assertThat(item1).isSameAs(listView.getChildAt(1));
}

相关文章

ListView类方法