ScrollView 的使用(非原创)

1.ScrollView滚动视图是指当拥有很多内容,屏幕显示不完时,需要通过滚动跳转来显示的视图。ScrollView只支持垂直滚动

<ScrollView 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"
    >

    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>

</ScrollView>

2.查询数据并放入ScrollView中package com.example.showdata;

import java.util.ArrayList;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.example.entity.Emp;

public class MainActivity extends Activity {
	private ArrayList<Emp> list = new ArrayList<Emp>();
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		MyOpenHelper helper = new MyOpenHelper(this,"Emp.db",null,1);
		SQLiteDatabase db = helper.getWritableDatabase();
         //使用API进行查询

		Cursor c = db.query("Emp", null, null, null, null, null, null);
		while(c.moveToNext()){
			String id = c.getString(c.getColumnIndex("id"));
			String name = c.getString(c.getColumnIndex("name"));
			String salary = c.getString(c.getColumnIndex("salary"));
              //将查询出来的结果封装成Emp对象
			Emp e = new Emp(id, name, salary);
              //将该对象放入集合中
			list.add(e);
		}
          //获取LinearLayout布局,通过ID值
		LinearLayout layout = (LinearLayout) findViewById(R.id.ll);
		for (Emp e : list) {
			TextView tv = new TextView(this);//创建TextView
			tv.setText(e.toString());//给tv设置值
			layout.addView(tv);//将tv显示在布局中
			System.out.println(e);
		}
	}
}

  

3.缺点:

  如果有很多条数据的话,可能会导致卡顿或内存溢出现象发生,ScrollView会将查询出来的数据全部显示到界面,但是界面能够显示的条数是有限的,所以很多的数据是看不到的,这样就浪费了时间去查询和内存去存储,使用ListView就能够很好的解决该问题

原文地址:https://www.cnblogs.com/biao2015/p/5069681.html