如何在RecyclerView中显示按钮

时间:2018-03-11 17:31:02

标签: android android-layout android-recyclerview

我有一个xml页面,我想在RecyclerView和xml中显示我有两个按钮,但是util按钮在xml中,程序无法运行,当我删除按钮时问题就解决了。

xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
    android:id="@+id/item_txt_StudentList_StudentName"
    android:layout_width="220dp"
    android:layout_height="35dp"
    android:layout_marginEnd="14dp"
    android:layout_marginRight="14dp"
    android:layout_marginTop="16dp"
    android:textSize="30dp"
    android:textColor="#000000"
    android:textAlignment="center"
    android:text="TextView"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />
<Button
    android:id="@+id/item_btn_StudentList_Absent"
    android:layout_width="55dp"
    android:layout_height="45dp"
    android:layout_marginLeft="22dp"
    android:layout_marginStart="22dp"
    android:text="غیبت"
    android:background="?attr/colorPrimary"
    android:textColor="@color/colorToolbar"
    android:layout_alignBaseline="@+id/item_txt_StudentList_StudentName"
    android:layout_alignBottom="@+id/item_txt_StudentList_StudentName"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
<Button
    android:id="@+id/item_btn_StudentList_Delay"
    android:layout_width="55dp"
    android:layout_height="45dp"
    android:text="تاخیر"
    android:background="?attr/colorPrimary"
    android:textColor="@color/colorToolbar"
    android:layout_below="@+id/item_btn_StudentList_Absent"
    android:layout_alignLeft="@+id/item_btn_StudentList_Absent"
    android:layout_alignStart="@+id/item_btn_StudentList_Absent"
    android:layout_marginTop="14dp" />
 </RelativeLayout>

logcat:

Process: com.example.user.classmanager, PID: 10078
                                                                           android.view.InflateException: Binary XML file line #21: Binary XML file line #21: Error inflating class android.widget.Button
                                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
                                                                               at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)
                                                                               at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                                                                               at com.example.user.classmanager.RecyclerViewAdapter_StudentList.onCreateViewHolder(RecyclerViewAdapter_StudentList.java:80)

3 个答案:

答案 0 :(得分:0)

你的

  

机器人:layout_below

缺少第一个按钮中的

。尝试添加

  

android:layout_below或

     

android:layout_top或

     

android:layout_right或

     

机器人:。layout_left

答案 1 :(得分:0)

你不应该左右使用,也要同时结束和开始。 你必须左右使用或分别开始和结束。 当您的应用语言是波斯语时,您最好使用 机器人:的layoutDirection =&#34; RTL&#34;这有助于您保持设计

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layoutDirection="rtl">

<TextView
    android:id="@+id/item_txt_StudentList_StudentName"
    android:layout_width="220dp"
    android:layout_height="35dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_marginEnd="14dp"
    android:layout_marginRight="14dp"
    android:layout_marginTop="16dp"
    android:text="TextView"
    android:textAlignment="center"
    android:textColor="#000000"
    android:textSize="30dp" />

<Button
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="22dp"
    android:id="@+id/item_btn_StudentList_Absent"
    android:layout_width="55dp"
    android:layout_height="45dp"
    android:layout_alignBaseline="@+id/item_txt_StudentList_StudentName"
    android:background="?attr/colorPrimary"
    android:text="غیبت"
    android:textColor="@color/colorToolbar" />

<Button
    android:id="@+id/item_btn_StudentList_Delay"
    android:layout_width="55dp"
    android:layout_height="45dp"
    android:layout_alignLeft="@+id/item_btn_StudentList_Absent"
    android:layout_below="@+id/item_btn_StudentList_Absent"
    android:layout_marginTop="14dp"
    android:background="?attr/colorPrimary"
    android:text="تاخیر"
    android:textColor="@color/colorToolbar" />

答案 2 :(得分:0)

问题:

我解决了我的问题。问题是按钮的颜色背景。

==&GT;机器人:?背景=&#34; ATTR / colorPrimary&#34;

解决方案:

设计按钮的特殊布局