我正在尝试使用此代码显示json中包含的信息
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MarkerActivity">
<Button
android:id="@+id/button"
style="@android:style/Widget.Material.Button.Small"
android:layout_width="34dp"
android:layout_height="38dp"
android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/textView"
android:layout_marginEnd="36dp"
android:layout_marginTop="-1dp"
android:text="+" />
<TextView
android:id="@+id/textView2"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="30dp"
android:layout_marginTop="149dp"
android:text="Status"
android:textSize="18sp"
android:textStyle="bold"
tools:text="Status" />
<TextView
android:id="@+id/mytextview"
android:layout_width="282dp"
android:layout_height="79dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="15dp"
android:layout_marginTop="27dp"
android:textSize="20dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
<ImageView
android:id="@+id/imageView"
android:layout_width="40dp"
android:layout_height="52dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/mytextview"
android:layout_marginStart="15dp"
android:src="@drawable/ic_mappin" />
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="9dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:background="?android:attr/listDivider" />
<View
android:id="@+id/divider2"
android:layout_width="match_parent"
android:layout_height="7dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="134dp"
android:background="?android:attr/listDivider" />
<ScrollView>
<TextView
android:id="@+id/textView"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/textView2"
android:layout_below="@+id/divider"
android:text="Comments"
android:textSize="18sp"
android:textStyle="bold"
tools:text="Comments" />
<TextView
android:id="@+id/jsonData1"
android:layout_width="155dp"
android:layout_height="83dp"
android:layout_alignStart="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_gravity="center_horizontal"
android:text="STATS"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textSize="16sp" />
<TextView
android:id="@+id/jsonData2"
android:layout_width="157dp"
android:layout_height="117dp"
android:layout_alignStart="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_gravity="center_horizontal"
android:text="COMMENTS"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textSize="16sp" />
</ScrollView>
</RelativeLayout>
我需要一个可滚动的视图,因为我的json文件可以包含许多条目,并且可以填充显示器上的所有空间。 使用此代码我的程序崩溃。知道怎么解决吗?我试过很多方面,但总是情况相同
答案 0 :(得分:0)
ScrollView
需要有一个孩子,因此请将3 TextViews
包裹在LinearLayout
布局中并将其高度设置为wrap_content
ScrollView=>LinearLayout=>Textviews
答案 1 :(得分:0)
ScrollView只能有一个孩子,但你在scrollView中放了3个孩子。这就是为什么你的应用程序崩溃。
您需要将所有子项(全部三个textView)放在一个ViewGroup中。然后你的应用程序将正确运行在这里你可以看到
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MarkerActivity">
<Button
android:id="@+id/button"
style="@android:style/Widget.Material.Button.Small"
android:layout_width="34dp"
android:layout_height="38dp"
android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/textView"
android:layout_marginEnd="36dp"
android:layout_marginTop="-1dp"
android:text="+" />
<TextView
android:id="@+id/textView2"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="30dp"
android:layout_marginTop="149dp"
android:text="Status"
android:textSize="18sp"
android:textStyle="bold"
tools:text="Status" />
<TextView
android:id="@+id/mytextview"
android:layout_width="282dp"
android:layout_height="79dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="15dp"
android:layout_marginTop="27dp"
android:textSize="20dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
<ImageView
android:id="@+id/imageView"
android:layout_width="40dp"
android:layout_height="52dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/mytextview"
android:layout_marginStart="15dp"
android:src="@drawable/ic_mappin" />
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="9dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:background="?android:attr/listDivider" />
<View
android:id="@+id/divider2"
android:layout_width="match_parent"
android:layout_height="7dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="134dp"
android:background="?android:attr/listDivider" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="115dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/textView2"
android:layout_below="@+id/divider"
android:text="Comments"
android:textSize="18sp"
android:textStyle="bold"
tools:text="Comments" />
<TextView
android:id="@+id/jsonData1"
android:layout_width="155dp"
android:layout_height="83dp"
android:layout_alignStart="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_gravity="center_horizontal"
android:text="STATS"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textSize="16sp" />
<TextView
android:id="@+id/jsonData2"
android:layout_width="157dp"
android:layout_height="117dp"
android:layout_alignStart="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_gravity="center_horizontal"
android:text="COMMENTS"
android:textSize="16sp"
android:textAppearance="@android:style/TextAppearance.Material.Small"
/>
</LinearLayout>
</ScrollView>
</RelativeLayout>