Android ListViewview入门
接著上文《Android 數(shù)據(jù)庫(kù)的事務(wù)》,往person數(shù)據(jù)表中插入50條數(shù)據(jù)
public void testAdd() throws Exception {PersonDao dao = new PersonDao(getContext());// .add("wangwu", "123", 50000);// dao.add("zhangsan", "234", 17000);int number = 857600001;Random random = new Random();for (int i = 0; i < 50; i++) {dao.add("wuyudong" + i, Long.toString(number + i),random.nextInt(5000));}}常規(guī)方法顯示數(shù)據(jù)
首先不使用ListViewview,而是直接使用程序來(lái)呈現(xiàn)數(shù)據(jù)表中的數(shù)據(jù),代碼如下:
package com.wuyudong.db;import java.util.List;import com.wuyudong.db.dao.PersonDao; import com.wuyudong.db.domain.Person;import android.os.Bundle; import android.text.style.LeadingMarginSpan; import android.widget.LinearLayout; import android.widget.TextView; import android.app.Activity; import android.graphics.Color;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);LinearLayout ll_root = (LinearLayout)findViewById(R.id.ll_root);PersonDao dao = new PersonDao(this);List<Person> persons = dao.findAll();for (Person person : persons) {String info = person.toString();TextView tv = new TextView(this);tv.setTextSize(20);tv.setTextColor(Color.BLACK);tv.setText(info);ll_root.addView(tv);}} }activity_main.xml中的代碼如下:
<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" ><LinearLayoutandroid:id="@+id/ll_root"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ></LinearLayout></ScrollView>運(yùn)行結(jié)果如下圖:
使用ListView顯示數(shù)據(jù)
數(shù)據(jù)顯示(listview)
需求: 把數(shù)據(jù)庫(kù)的內(nèi)容全部顯示在界面上
符合MVC模型
m: model 數(shù)據(jù)模型 -- Person?
v: view 視圖 -- ListView
c: controller 控制器 --Adapter 數(shù)據(jù)適配器
下面使用ListViewview來(lái)實(shí)現(xiàn)這個(gè)功能
修改activity_main.xml中的代碼如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/ll_root"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent" ></ListView></LinearLayout>界面如下:
代碼如下:
package com.wuyudong.db;import java.util.List;import com.wuyudong.db.dao.PersonDao; import com.wuyudong.db.domain.Person;import android.os.Bundle; import android.text.style.LeadingMarginSpan; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.app.Activity; import android.graphics.Color;public class MainActivity extends Activity {private ListView lv;private List<Person> persons;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);PersonDao dao = new PersonDao(this);persons = dao.findAll();lv = (ListView) findViewById(R.id.lv);lv.setAdapter(new MyAdapter());}// 默認(rèn)實(shí)現(xiàn)類(lèi)形如: simplexxx, basexxx, defaultxxxprivate class MyAdapter extends BaseAdapter {private static final String TAG = "MyAdapter";/*** 控制ListView里面總共有多少條目*/@Overridepublic int getCount() {return persons.size(); // 條目個(gè)數(shù)==集合的size }@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Log.i(TAG, "返回view對(duì)象,位置: " + position);TextView tv = new TextView(getApplicationContext());tv.setTextSize(20);tv.setTextColor(Color.BLACK);// 得到某個(gè)位置對(duì)應(yīng)的person對(duì)象Person person = persons.get(position);tv.setText(person.toString());return tv;}} }運(yùn)行結(jié)果如下:
使用logcat過(guò)濾器查看:
只顯示5個(gè)位置,說(shuō)明手機(jī)屏幕只能顯示這么多,如果滑動(dòng)手機(jī)屏幕的話,位置數(shù)量會(huì)越來(lái)越多
轉(zhuǎn)載于:https://www.cnblogs.com/wuyudong/p/5579216.html
總結(jié)
以上是生活随笔為你收集整理的Android ListViewview入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 齐桓公与管仲
- 下一篇: 【转】iOS类似Android上toas