Android中ListView使用示例介紹
簡單ListView實例
數據庫讀取數據存入ListView
一、具體思路
1、創建Listview控件
2、創建子佈局
創建數據庫
主方法調用數據庫繼承類且初始化數據庫,寫入數據
MyDatabaseHelper databaseHelper = new MyDatabaseHelper(this,"Co.db",null,1);
SQLiteDatabase db = databaseHelper.getWritableDatabase();
SQLiteDatabase db2 = databaseHelper.getReadableDatabase();
3、寫入
ContentValues values = new ContentValues(); values.put("Code","1"); values.put("Name","Admin"); values.put("Post","32"); values.put("Tel","123456789"); db.insert("employee",null,values); values.clear(); values.put("Code","2"); values.put("Name","Admin1"); values.put("Post","22"); values.put("Tel","23342e"); db.insert("employee",null,values);
4、讀取
Cursor cursor = db2.query("Employee",null,null,null,null,null,null); arrayList = new ArrayList<>(); if (cursor.moveToFirst()) { do { name = cursor.getString(cursor.getColumnIndex("Name")); code = cursor.getString(cursor.getColumnIndex("Code")); post = cursor.getString(cursor.getColumnIndex("Post")); tel = cursor.getString(cursor.getColumnIndex("Tel")); System.out.println("查找到的值:"+ name +"---"+ code +"---"+ post +"---"+ tel); Employee employee=new Employee(name, tel, post, code); arrayList.add(employee); }while (cursor.moveToNext()); }
5、創建對象,構造器,GETSET方法
6、創建Adapter
二、具體實施
1、適配器
lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; if (convertView==null){ view=View.inflate(getBaseContext(),R.layout.listitem,null); }else{ view=convertView; } Employee ee=(Employee) arrayList.get(position); TextView eename=view.findViewById(R.id.name); TextView eedianhua=view.findViewById(R.id.dianhua); TextView eezhiwei=view.findViewById(R.id.zhiwei); TextView eekahao=view.findViewById(R.id.kahao); eename.setText(ee.getName()); eedianhua.setText(ee.getTel()); eezhiwei.setText(ee.getPost()); eekahao.setText(ee.getCode()); return view; } });
2、數據庫
public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_Employees = "create table employee (" + "Code text, " + "Name text unique, " + "Post text, " + "Tel text)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_Employees); Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
3、對象
package com.example.a4_7_1_lv; public class Employee { private String name; private String tel; private String post; private String code; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getPost() { return post; } public void setPost(String post) { this.post = post; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public Employee(String name, String tel, String post, String code) { this.name = name; this.tel = tel; this.post = post; this.code = code; } public Employee() { } }
4、等等等等
三、案例分享
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
listitem.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓名" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="電話" android:layout_marginLeft="100dp" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/dianhua" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="職位" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/zhiwei" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="卡號" android:layout_marginLeft="100dp" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/kahao" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> </LinearLayout> </LinearLayout>
MyDatabaseHelper.java
package com.example.a4_7_1_lv; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast; public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_Employees = "create table employee (" + "Code text, " + "Name text unique, " + "Post text, " + "Tel text)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_Employees); Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
MainActivity.java
package com.example.a4_7_1_lv; import androidx.appcompat.app.AppCompatActivity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private ListView lv; private MyDatabaseHelper databaseHelper; private SQLiteDatabase db; private SQLiteDatabase db2; private ArrayList arrayList; private String name; private String code; private String post; private String tel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.list); } @Override protected void onStart() { super.onStart(); MyDatabaseHelper databaseHelper = new MyDatabaseHelper(this,"Co.db",null,1); db = databaseHelper.getWritableDatabase(); db2 = databaseHelper.getReadableDatabase(); DBInsert(); Cursor cursor = db2.query("Employee",null,null,null,null,null,null); arrayList = new ArrayList<>(); if (cursor.moveToFirst()) { do { name = cursor.getString(cursor.getColumnIndex("Name")); code = cursor.getString(cursor.getColumnIndex("Code")); post = cursor.getString(cursor.getColumnIndex("Post")); tel = cursor.getString(cursor.getColumnIndex("Tel")); System.out.println("查找到的值:"+ name +"---"+ code +"---"+ post +"---"+ tel); Employee employee=new Employee(name, tel, post, code); arrayList.add(employee); }while (cursor.moveToNext()); } lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; if (convertView==null){ view=View.inflate(getBaseContext(),R.layout.listitem,null); }else{ view=convertView; } Employee ee=(Employee) arrayList.get(position); TextView eename=view.findViewById(R.id.name); TextView eedianhua=view.findViewById(R.id.dianhua); TextView eezhiwei=view.findViewById(R.id.zhiwei); TextView eekahao=view.findViewById(R.id.kahao); eename.setText(ee.getName()); eedianhua.setText(ee.getTel()); eezhiwei.setText(ee.getPost()); eekahao.setText(ee.getCode()); return view; } }); } private void DBInsert() { ContentValues values = new ContentValues(); values.put("Code","1"); values.put("Name","Admin"); values.put("Post","32"); values.put("Tel","123456789"); db.insert("employee",null,values); values.clear(); values.put("Code","2"); values.put("Name","Admin1"); values.put("Post","22"); values.put("Tel","23342e"); db.insert("employee",null,values); values.clear(); values.put("Code","4"); values.put("Name","Admin13"); values.put("Post","2sda2"); values.put("Tel","233asd42e"); db.insert("employee",null,values); values.clear(); values.put("Code","Code"); values.put("Name","Name"); values.put("Post","Post"); values.put("Tel","Tel"); db.insert("employee",null,values); } }
Employee.java
package com.example.a4_7_1_lv; import androidx.appcompat.app.AppCompatActivity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private ListView lv; private MyDatabaseHelper databaseHelper; private SQLiteDatabase db; private SQLiteDatabase db2; private ArrayList arrayList; private String name; private String code; private String post; private String tel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.list); } @Override protected void onStart() { super.onStart(); MyDatabaseHelper databaseHelper = new MyDatabaseHelper(this,"Co.db",null,1); db = databaseHelper.getWritableDatabase(); db2 = databaseHelper.getReadableDatabase(); DBInsert(); Cursor cursor = db2.query("Employee",null,null,null,null,null,null); arrayList = new ArrayList<>(); if (cursor.moveToFirst()) { do { name = cursor.getString(cursor.getColumnIndex("Name")); code = cursor.getString(cursor.getColumnIndex("Code")); post = cursor.getString(cursor.getColumnIndex("Post")); tel = cursor.getString(cursor.getColumnIndex("Tel")); System.out.println("查找到的值:"+ name +"---"+ code +"---"+ post +"---"+ tel); Employee employee=new Employee(name, tel, post, code); arrayList.add(employee); }while (cursor.moveToNext()); } lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; if (convertView==null){ view=View.inflate(getBaseContext(),R.layout.listitem,null); }else{ view=convertView; } Employee ee=(Employee) arrayList.get(position); TextView eename=view.findViewById(R.id.name); TextView eedianhua=view.findViewById(R.id.dianhua); TextView eezhiwei=view.findViewById(R.id.zhiwei); TextView eekahao=view.findViewById(R.id.kahao); eename.setText(ee.getName()); eedianhua.setText(ee.getTel()); eezhiwei.setText(ee.getPost()); eekahao.setText(ee.getCode()); return view; } }); } private void DBInsert() { ContentValues values = new ContentValues(); values.put("Code","1"); values.put("Name","Admin"); values.put("Post","32"); values.put("Tel","123456789"); db.insert("employee",null,values); values.clear(); values.put("Code","2"); values.put("Name","Admin1"); values.put("Post","22"); values.put("Tel","23342e"); db.insert("employee",null,values); values.clear(); values.put("Code","4"); values.put("Name","Admin13"); values.put("Post","2sda2"); values.put("Tel","233asd42e"); db.insert("employee",null,values); values.clear(); values.put("Code","Code"); values.put("Name","Name"); values.put("Post","Post"); values.put("Tel","Tel"); db.insert("employee",null,values); } }
到此這篇關於Android中ListView使用示例介紹的文章就介紹到這瞭,更多相關Android ListView使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Android studio實現簡易的計算器功能
- Android生成隨機數的方法實例
- Android ListView仿微信聊天界面
- Android實現文字消除效果
- Android文本視圖TextView實現跑馬燈效果