Recyclerview无法获得最后一个孩子Android(getChildAt(pos))适配器项> RecyclerView儿童

时间:2016-10-25 06:23:21

标签: java android android-recyclerview

我有几个recyclerviews(以编程方式添加),我正在测试onKeyUp事件的第一个recyclelerview。 thir rv有一个包含7个项目的适配器,但当我调用rv.getChildCount()时,rv只有6个子节点。但在屏幕上我可以看到7个项目(一次只能满5个),所以对Recyclerview有什么不对?

我只想在用户按下某些键以在recyclerviews中导航时设置可绘制的背景。

    @Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    int pos=Integer.parseInt(PosListon.get(ListonCur));
    int cant=Integer.parseInt(CantInListon.get(ListonCur));
    if(keyCode == KeyEvent.KEYCODE_A) { //right
      if(pos<cant-1) {
          RecyclerView rv =(RecyclerView) llmain.getChildAt(ListonCur);
          rv.smoothScrollToPosition(pos+1);

          int caadp=rv.getAdapter().getItemsCount();//this shows 7
          int ca=  rv.getChildCount();//this shows 6

          RelativeLayout rl=(RelativeLayout) rv.getChildAt(pos+1);//this is null whene index (pos+1) is 6
   rl.setBackground(getResources().getDrawable(R.drawable.border_selected)); //if rl is null then here is an exception
          pos++;

                  PosListon.set(ListonCur, pos + "");//record pos in List

          return true;


      }}

    }

我知道这可能与屏幕上当前显示的项目相关联,但我需要有关如何处理它的帮助。

1 个答案:

答案 0 :(得分:0)

使用ping 10.226.2.10 -n 10 1>>ping_ip.txt 1>>