android 使用 ScrollView app直接崩溃

文章标签: android,android scrollview
2016-9-4 17:52:48     154 人阅读    

今天在开发android页面用到了ScrollView ,但是页面加载,只要一打开这个avtivity,app就直接崩溃了,调试好久一直弄不好一头雾水

 

无意中看到 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 这行有黄色提醒

a scroll view can have only one child

发现 ScrollView  下有一个 LinearLayout 和 一个 FrameLayout,原来是这个问题。。

 

android 采用ScrollView布局时出现异

常:ScrollView can host only one direct child。


主要是ScrollView内部只能有一个子元素,即不能并列两个子元素,所以需要把所有的子

元素放到一个LinearLayout内部或RelativeLayout等其他布局方式。

 

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

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:scrollbars="vertical">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#fff1f1f1"
        android:orientation="vertical" >
      
         <com.github.mikephil.charting.charts.LineChart
             android:id="@+id/chart1"
             android:layout_width="match_parent"
             android:layout_height="200dp"
             android:layout_gravity="center_horizontal" />
         
          <LinearLayout 
				android:id="@+id/relativeHeader" 
				android:layout_height="wrap_content" 
				android:layout_width="fill_parent"
			    >
			
			    <TextView
			        android:id="@+id/FirstText"
			        android:layout_width="0dp"
			        android:layout_height="wrap_content"
			        android:layout_weight="1"
			        android:gravity="center"
			        android:text="日期" 
			        >
			    </TextView>
			    
			    <TextView
			        android:id="@+id/SecondText"
			        android:layout_width="0dp"
			        android:layout_height="wrap_content"
			        android:layout_weight="1"
			        android:gravity="center"
			        android:text="已还" 
			        >
			    </TextView>
			    
			    <TextView
			        android:id="@+id/ThirdText"
			        android:layout_width="0dp"
			        android:layout_height="wrap_content"
			        android:layout_weight="1"
			        android:gravity="center"
			        android:text="未还" 
			        >
			    </TextView>
			    
			    <TextView
			        android:id="@+id/FourthText"
			        android:layout_width="0dp"
			        android:layout_height="wrap_content"
			        android:layout_weight="1"
			        android:gravity="center"
			        android:text="总额" 
			        >
			    </TextView>
			</LinearLayout>	
		    
		    <LinearLayout
				android:layout_height="wrap_content" 
				android:layout_width="fill_parent"
			    >
		       <ListView
		        android:id="@+id/list"
		        android:layout_width="fill_parent"
		        android:layout_height="wrap_content"
		        android:divider="@android:color/darker_gray"
		    	android:dividerHeight="0.1dip"
		    	android:cacheColorHint="@null"
		    	android:layout_margin="0dip"
		    	android:background="@android:color/white"
		        android:listSelector="@drawable/list_selector" />
		    </LinearLayout>	
        </LinearLayout>
    
 

	<FrameLayout
	    android:layout_width="fill_parent"
	    android:layout_height="wrap_content" >

	   <ProgressBar
            android:id="@+id/blogBody_progressBar"
            android:layout_width="@dimen/top_bar_progressbar_width"
            android:layout_height="@dimen/top_bar_progressbar_width"
            android:layout_gravity="center"
            android:background="@color/transparent"
            android:indeterminateDrawable="@drawable/progressbar_moreloading"
            android:visibility="gone" />
	 </FrameLayout>
</ScrollView>

解决方法:

  把FrameLayout放到LinearLayout 中问题就解决了。

 

 

在编辑layout xml时应注意“Error Log”窗口与layout xml编辑窗口的“Graphical Layout”选项卡。

这个选项卡经常会提示 xml的错误,有些错误是致命的。

 

 

 

 


原文地址:http://www.itmmd.com/201609/799.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android listview不展示,提示The vertically scrolling ScrollView should not contain another vertically scr   上一篇
下一篇  android MPAndroidChart 二次开发,修改折线图,支持只展示最大最小值

精彩回复
发表评论
姓名: