如何在加载 activity 后调用函数

How to call a function after activity is loaded

我在 android 中有一个带有 RecyclerView 的 activity。我正在尝试在 OnCreate 中的 RecyclerView 上调用 getChildAt(i),但它 returns 为空。我在为测试创建的按钮点击侦听器中尝试了同样的事情,它 returns 项目很好。这一定是因为 RecyclerView 此时尚未在 OnCreate 中加载其子项,我需要在加载 activity 时访问其第一个子项。一旦加载了 activity 并且在加载 activity 时无需手动按下按钮就可以创建 RecyclerView 的子项,是否可以使用任何形式的监听器来检查?我无法为 activity 或 RecyclerView 找到合适的侦听器。

这是我的基本代码:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    mainRec = (RecyclerView) findViewById(R.id.cardList);
    mainRec.setHasFixedSize(true);

    lm = new LayoutManager(this);

    mainRec.setLayoutManager(lm);
    mainRecAdap = new HappyAdapter(db.getListData(), this);
    mainRec.setAdapter(mainRecAdap);

    //this is where I am trying to call getChildAt

}

@Override
protected void onPause()
{
    super.onPause();
    restoreState();
}

@Override
protected void onResume()
{
    super.onResume();
    restoreState();
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.menu_list, menu);
    return true;
}

private void restoreState()
{
    setToolbarColor(backgroundColour);
}


@Override
public void onBackPressed()
{
    super.onBackPressed();
    overridePendingTransition(R.anim.fade_forward, R.anim.right_slide_out);
}

@Override
protected int getLayoutResource()
{
    return R.layout.activity_list;
}

谢谢

为什么不使用 RecyclerView 具有的特定附加侦听器:

recyclerView.addOnChildAttachStateChangeListener(new RecyclerView
                .OnChildAttachStateChangeListener() {
            @Override
            public void onChildViewAttachedToWindow(View view) {

            }

            @Override
            public void onChildViewDetachedFromWindow(View view) {

            }
        });