星空网 > 软件开发 > 操作系统

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 {  @Override  protected 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.

<ScrollView ="http://schemas.android.com/apk/res/android"  ="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent" >  <LinearLayout    android:id="@+id/ll_root"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >  </LinearLayout></ScrollView>

运行结果如下图:

Android ListViewview入门images/loading.gif' data-original="http://images2015.cnblogs.com/blog/617081/201606/617081-20160613190128213-1178864197.jpg" />

使用ListView显示数据

数据显示(listview)

需求: 把数据库的内容全部显示在界面上

符合MVC模型

m: model 数据模型 -- Person 

v: view 视图 -- ListView

c: controller 控制器 --Adapter 数据适配器


下面使用ListViewview来实现这个功能

修改activity_main.

<LinearLayout ="http://schemas.android.com/apk/res/android"  ="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" >  <ListView    android:id="@+id/lv"    android:layout_width="match_parent"    android:layout_height="match_parent" >  </ListView></LinearLayout>

界面如下:

Android 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.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;  @Override  protected 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, defaultxxx  private class MyAdapter extends BaseAdapter {    private static final String TAG = "MyAdapter";    /**     * 控制ListView里面总共有多少条目     */    @Override    public int getCount() {      return persons.size(); // 条目个数==集合的size    }    @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;    }    @Override    public 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;    }  }}

运行结果如下:

Android ListViewview入门

使用logcat过滤器查看:

Android ListViewview入门

只显示5个位置,说明手机屏幕只能显示这么多,如果滑动手机屏幕的话,位置数量会越来越多

Android ListViewview入门




原标题:Android ListViewview入门

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊Review整改动真格了?Review政策现状如何?:https://www.ikjzd.com/articles/107267
都是跨境卖家,凭什么他这么有钱?:https://www.ikjzd.com/articles/107268
速卖通产品搜索排名规则,影响速卖通产品排名因素有哪些?:https://www.ikjzd.com/articles/107269
教你5分钟写出Best seller文案,打造完美标题、五行和产品描述!:https://www.ikjzd.com/articles/10727
亚马逊FBA为什么拒收你的货物?:https://www.ikjzd.com/articles/107270
业绩不振、流量下滑?8月份亚马逊各站点流量分析表来了!:https://www.ikjzd.com/articles/107271
皇帝的皇宫=:https://www.vstour.cn/a/363188.html
海南岛琼海市旅游景点 琼海市的旅游景点:https://www.vstour.cn/a/363189.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流