在ScrollView中使用ExpandableTextView时应用程序崩溃

时间:2019-06-05 13:49:32

标签: android android-layout

当我尝试将ScrollView添加到下面的布局中时,我的应用程序崩溃了,尽管其中有一个子视图。我还需要添加其他内容吗?我是Android的新手。

<?xml version="1.0" encoding="utf-8"?>

<ScrollView

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">

    <include android:id="@+id/toolbar"
        layout="@layout/toolbar"></include>



        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
        <com.ms.square.android.expandabletextview.ExpandableTextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/expandable_text_view"
            app:maxCollapsedLines="1"
            app:animDuration="200"
            >
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/expandable_text"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="8dp"
                android:textSize="16sp"
                android:textColor="#666"
                                />

            <ImageButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/expand_collapse"
                android:layout_gravity="right|bottom"
                android:background="@android:color/transparent"
                android:padding="16dp"
                />
        </com.ms.square.android.expandabletextview.ExpandableTextView>

    <view
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        ></view>
    <com.ms.square.android.expandabletextview.ExpandableTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/expandable_text_view2"
        app:maxCollapsedLines="1"
        app:animDuration="200"
        >
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/expandable_text2"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="8dp"
            android:textSize="16sp"
            android:textColor="#666"
            />

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/expand_collapse2"
            android:layout_gravity="right|bottom"
            android:background="@android:color/transparent"
            android:padding="16dp"
            />




        </com.ms.square.android.expandabletextview.ExpandableTextView>

        </LinearLayout>

        </LinearLayout>

    </ScrollView>

错误:

  

由于:java.lang.NullPointerException:尝试调用虚拟   方法“无效”   android.widget.TextView.setOnClickListener(android.view.View $ OnClickListener)'   在一个空对象引用上   com.ms.square.android.expandabletextview.ExpandableTextView.findViews(ExpandableTextView.java:278)

1 个答案:

答案 0 :(得分:1)

修改

每个屏幕应该只有一个ExpandableTextView,因为其实现依赖于TextView ID expandable_text。您无法为其TextView的子代命名,例如expandable_text2

原始答案

您的View小部件上有错字。您应使用以大写字母“ V”开头的View。将其与小写的“ v”一起使用会使您的应用在运行时崩溃。