日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android ListViewview入门

發布時間:2025/3/13 Android 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android ListViewview入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接著上文《Android 數據庫的事務》,往person數據表中插入50條數據

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));}}

常規方法顯示數據

首先不使用ListViewview,而是直接使用程序來呈現數據表中的數據,代碼如下:

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>

運行結果如下圖:

使用ListView顯示數據

數據顯示(listview)

需求: 把數據庫的內容全部顯示在界面上

符合MVC模型

m: model 數據模型 -- Person?

v: view 視圖 -- ListView

c: controller 控制器 --Adapter 數據適配器


下面使用ListViewview來實現這個功能

修改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());}// 默認實現類形如: simplexxx, basexxx, defaultxxxprivate class MyAdapter extends BaseAdapter {private static final String TAG = "MyAdapter";/*** 控制ListView里面總共有多少條目*/@Overridepublic int getCount() {return persons.size(); // 條目個數==集合的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對象,位置: " + position);TextView tv = new TextView(getApplicationContext());tv.setTextSize(20);tv.setTextColor(Color.BLACK);// 得到某個位置對應的person對象Person person = persons.get(position);tv.setText(person.toString());return tv;}} }

運行結果如下:

使用logcat過濾器查看:

只顯示5個位置,說明手機屏幕只能顯示這么多,如果滑動手機屏幕的話,位置數量會越來越多

轉載于:https://www.cnblogs.com/wuyudong/p/5579216.html

總結

以上是生活随笔為你收集整理的Android ListViewview入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。