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就能够很好的解决该问题