这是我的布局(fragment_hadees.xml):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Hadees">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/myrecyclerview"
android:layout_height="match_parent"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/fab"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:elevation="40dp"
android:layout_margin="30dp"
android:backgroundTint="#ffffff"
android:src="@drawable/favorited"/>
</RelativeLayout>
这是Hadees.java(java根文件):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View root = inflater.inflate(R.layout.fragment_hadees, container, false);
((MainActivity) getActivity()).getSupportActionBar().setTitle("Hadees");
HadeesAdapter hadeesAdapter;
fab= root.findViewById(R.id.fab);
ImageView copybutton= root.findViewById(R.id.copybutton);
final TextView textView=root.findViewById(R.id.textView);
ImageView whatsapText=root.findViewById(R.id.whatsApp_txt);
toggleModelList= new ArrayList<>();
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getActivity(), "FAB", Toast.LENGTH_SHORT).show();
}
});
myrecyclerview=(RecyclerView)root.findViewById(R.id.myrecyclerview);
myrecyclerview.setLayoutManager(new LinearLayoutManager(getActivity()));
这是我的hadees_contents.xml:
<LinearLayout
android:id="@+id/l1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:textIsSelectable="true"
android:textColor="#000000"
android:gravity="center"
android:maxLines="100"
android:fontFamily="sans-serif-condensed-medium"
android:text="This is Arabic Text"
android:textSize="20sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:background="@android:color/darker_gray" />
<LinearLayout
android:id="@+id/l2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:weightSum="4">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/copybutton"
android:src="@drawable/ic_content_copy_black_24dp" />
如何在Hadees.java的hadees_contents.xml中访问视图? 我可以访问FAB,但不能访问Recycler的“视图膨胀”布局的内容,即hadees_contents.xml
答案 0 :(得分:1)
您正试图从Hadees.java访问hadees_contents的字段,该字段不会使xml hadees_contents膨胀。 它使xmlfragment_hadees膨胀,这就是为什么如果您尝试从Hadees.java访问hadees_contents时将得到空指针异常的原因。 我可以想出一种解决此问题的方法,但我不知道它是否适合您的情况。您必须具有一个将hadees_contents字段添加到recyclerview中的活动,您可以从该addActivity发送一个意图,该意图将hadees_contents膨胀到您的Hadees.java类,并在您从Hadees.java调用OnActivityResult方法时收到它。
答案 1 :(得分:1)
通过调用以下方法,不会夸大1 2 3
4 5 6 7 8 9 10
的实例。它只会使RecyclerView本身膨胀,这是一个空的ViewGroup。
hadees_contents.xml
RecyclerViews需要一个 adapter 来告诉他们要充气的东西和要绑定的数据。有关更多信息和示例,请参阅Simple Android RecyclerView example。