我在Android中使用RecyclerView進行了一個活動。我想在OnCreate的RecyclerView上調用getChildAt(i),但它返回null。我在按鈕單擊偵聽器中嘗試了同樣的事情,這是我爲測試而創建的,它返回的項目正常。這一定是因爲RecyclerView尚未在OnCreate中加載它的子項,並且在加載活動時我需要訪問其第一個子項。有沒有任何形式的監聽器,我可以用來檢查一旦活動加載和RecyclerView的孩子沒有手動按下按鈕創建活動加載?我無法找到適合該活動或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;
}
感謝
方法有很多種。上傳你的代碼,並寫錯了一些選項。 – EE66
謝謝,我已將我的基本代碼添加到問題 – kabeersvohra