#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: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);
}
});
итак, после
mSwipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.refresh)
того, как я получу сообщение об ошибке. Я думаю, что причина в том, что mSwipeRefreshLayout имеет значение null.
Ответ №1:
используйте это для findViewById
setContentView(R.layout.main)
Комментарии:
1. Спасибо. Ошибка заключалась в том, что я написал setContentView нерегулярный макет.