Я пытаюсь обновить текст для ItemDecoration в моем RecyclerView, но у меня возникли проблемы. В моем фрагменте я раздул макет для моего RecyclerView, но я также хочу увеличить свой макет для ItemDecoration для setText () на этом макете.
Ниже приведен метод onCreateView для моего фрагмента. Здесь я раздуваю макет RecyclerView, galway_fragment и устанавливаю данные. Но я также хочу установить текст в другом макете, stamp_header , который я объясню ниже. OnCreateView
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = inflater.inflate(R.layout.galway_fragment, container, false);
recyclerView = (RecyclerView) v.findViewById(R.id.galway_recycler);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setHasFixedSize(true);
MyAdapter adapter = new MyAdapter(placeNames);
recyclerView.addItemDecoration(HeaderDecoration.with(recyclerView)
.inflate(R.layout.stamp_header)
.parallax(0.2f)
.dropShadowDp(4)
.build());
recyclerView.setAdapter(adapter);
db.collection("galway")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
for (QueryDocumentSnapshot document : task.getResult()) {
placeNames.add(document.getData().get("Name").toString());
}
adapter.notifyDataSetChanged();
}
});
View v2 = inflater.inflate(R.layout.stamp_header, container, false);
TextView header = (TextView) v2.findViewById(R.id.header);
Log.i("HEADER", header.toString());
header.setText("GALWAY");
return v;
}
Я попытался создать новое представление и накачать макет ItemDecoration с именем stamp_header , но текст не устанавливается при запуске. galway_fragment - это макет RecyclerView, который определяет макет для RecyclerView.
galway_fragment
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/galway_recycler"/>
</LinearLayout>
stamp_header
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:background="@color/red"
android:layout_height="wrap_content">
<TextView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:padding="16dp"
android:textSize="30sp"
android:text="HI THERE" />
</RelativeLayout>