Java Android SwipeRefreshLayout返回null

Java Android SwipeRefreshLayout返回null,java,android,swiperefreshlayout,Java,Android,Swiperefreshlayout,我想使用SwipeRefreshLayout替换数据, 但当我这么做的时候 mSwipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.refresh); mSwipeRefreshLayout具有null。 代码示例: <androidx.cardview.widget.CardView android:layout_width="match_parent" android:

我想使用SwipeRefreshLayout替换数据, 但当我这么做的时候

mSwipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.refresh);
mSwipeRefreshLayout具有null。 代码示例:

<androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp">
 <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp">

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:orientation="vertical">

  </LinearLayout>

    </androidx.cardview.widget.CardView>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>


import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;


private SwipeRefreshLayout mSwipeRefreshLayout ;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        mSwipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.refresh);
        mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                Toast.makeText(SpisokActivity.this, "Обновление", Toast.LENGTH_SHORT).show();
                mSwipeRefreshLayout.setRefreshing(false);
            }
        });

导入androidx.swiperefreshlayout.widget.swiperefreshlayout;
私人SwipeRefreshLayout mSwipeRefreshLayout;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
mSwipeRefreshLayout=(SwipeRefreshLayout)findViewById(R.id.refresh);
mSwipeRefreshLayout.setOnRefreshListener(新的SwipeRefreshLayout.OnRefreshListener()){
@凌驾
公共void onRefresh(){
Toast.makeText(SpisokActivity.this,“бббббббббббббб;
mSwipeRefreshLayout.setRefresh(false);
}
});
那么,在
mSwipeRefreshLayout=(SwipeRefreshLayout)findViewById(R.id.refresh)
我收到一个错误。我认为原因是mSwipeRefreshLayout为null。

findViewById

setContentView(R.layout.main)

谢谢。错误是因为我写的setContentView布局不规则。