數據庫listview界面的顯示

public class MainActivity extends Activity {

private SQLiteDatabase db;
private ListView lv;
private List<Person> list;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //初始化listview控件
    lv = (ListView) findViewById(R.id.lv);

    DBHelper helper = new DBHelper(this, "persons.db", null, 1);

    db = helper.getWritableDatabase();

}

public void insert(View v){

// db.execSQL(“insert into person (name)values(?)”, new String[]{“lisi”});
ContentValues values = new ContentValues();
Random r = new Random();
values.put(“name”, “zhangsan”+r.nextInt(100));
long rowId = db.insert(“person”, null, values);
System.out.println(“rowId=”+rowId);
Toast.makeText(this, “插入數據成功”, 0).show();
}

public void query(View v){

  list = new ArrayList<Person>();
  /**
   * table 表名
   * columns 查詢的列
   * selection 查詢條件"id=1"
   * selectionArgs 查詢條件的值
   * String groupBy
   * String having
   * String orderBy) 
   * 
   */
  Cursor cursor = db.query("person", new String[]{"id","name" }, null, null, null, null, null);

  while(cursor.moveToNext()){

      Person p = new Person();
     int id = cursor.getInt(0);
     p.setId(id);
     String name = cursor.getString(1);
     p.setName(name);
     list.add(p);
     System.out.println("id="+id+"; name="+name);
  }

  //把數據顯示到列表
  lv.setAdapter(new MyAdapter());

  Toast.makeText(this, "查詢數據成功", 0).show();
}

/**
 *創建一個數據適配器,爲listview填充數據
 */
private class MyAdapter extends BaseAdapter{

    @Override
    public int getCount() {

        return list.size();
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = null;
        if(convertView != null){
            view = convertView;
        }
        else{
            view = View.inflate(MainActivity.this, R.layout.item, null);
        }



        TextView tv_id = (TextView) view.findViewById(R.id.tv_id);
        TextView tv_name = (TextView) view.findViewById(R.id.tv_name);
        Person p = list.get(position);

        tv_id.setText(p.getId()+"");

        tv_name.setText(p.getName());
        return view;
    }


    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }



 }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章