Android:复杂listview条目
复杂listview条目
目录
复杂listview条目
一、项目目录结构
二、类:MainActivity
三、类:MyOpenSqlite
四、类:Person
五、activity_main.xml
六、item.xml
七、运行效果
一、项目目录结构
二、类:MainActivity
package com.example.mylistview;import java.util.ArrayList;import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends Activity {private MyOpenSqlite openSqlite;private ArrayList<Person> arrayList = new ArrayList<Person>();private ListView lv_list ;private Button bt_insert;private Button bt_querry;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);lv_list = (ListView)findViewById(R.id.lv_list);bt_insert = (Button)findViewById(R.id.bt_insert);bt_querry = (Button)findViewById(R.id.bt_querry);//创建sql数据库openSqlite = new MyOpenSqlite(this);SQLiteDatabase database = openSqlite.getReadableDatabase();}/** listview* */class Mylistview extends BaseAdapter{private TextView tv_title;private TextView tv_content;@Overridepublic int getCount() {return arrayList.size();}@Overridepublic Object getItem(int position) {Person person = arrayList.get(position);return person;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = null; //如果可重用的为0if(convertView == null) {view = View.inflate(MainActivity.this, R.layout.item, null);}else {view = convertView;}tv_title = (TextView)view.findViewById(R.id.tv_title);tv_content = (TextView)view.findViewById(R.id.tv_content);tv_title.setText(arrayList.get(position).getName());tv_content.setText(arrayList.get(position).getPhone());return view;}}/** * */public void insert(View v) {SQLiteDatabase database = openSqlite.getReadableDatabase();database.execSQL("insert into information (name,phone) values ('zhangsan','1111')");database.execSQL("insert into information (name,phone) values ('lisi','2222')");database.execSQL("insert into information (name,phone) values ('wangwu','3333')");database.close();}public void querry(View v) {SQLiteDatabase database = openSqlite.getReadableDatabase();Cursor cursor = database.rawQuery("select * from information", null);while(cursor.moveToNext()) {Person ps = new Person();String name = cursor.getString(cursor.getColumnIndex("name"));String phone = cursor.getString(cursor.getColumnIndex("phone"));ps.setName(name);ps.setPhone(phone);arrayList.add(ps);System.out.println(ps);//打印下//Toast.makeText(this, ps.toString(), Toast.LENGTH_SHORT).show();}cursor.close();database.close();lv_list.setAdapter(new Mylistview());}public void delete(View v) {SQLiteDatabase database = openSqlite.getReadableDatabase();database.execSQL("insert into information (name,phone) values ('zhangsan','1111')");database.execSQL("insert into information (name,phone) values ('lisi','2222')");database.execSQL("insert into information (name,phone) values ('wangwu','3333')");database.close();}
}
三、类:MyOpenSqlite
package com.example.mylistview;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;public class MyOpenSqlite extends SQLiteOpenHelper {public MyOpenSqlite(Context context) {super(context, "Mysqlite.db", null, 1);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL("create table information(_id integer primary key autoincrement, name varchar(10), phone varchar(10))");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}}
四、类:Person
package com.example.mylistview;public class Person {private String name;private String phone;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}@Overridepublic String toString() {return "Person [name=" + name + ", phone=" + phone + "]";}
}
五、activity_main.xml
<RelativeLayout 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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.mylistview.MainActivity" ><Button android:id="@+id/bt_insert"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#88fff000"android:onClick="insert"android:text="插入"/><Button android:id="@+id/bt_querry"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#88fff000"android:onClick="querry"android:text="查询"android:layout_alignParentRight="true"/><ListViewandroid:id="@+id/lv_list"android:layout_width="match_parent"android:layout_height="match_parent"android:divider="#000000"android:dividerHeight="2dp"android:footerDividersEnabled="true"android:fastScrollAlwaysVisible="true"android:layout_below="@id/bt_insert"></ListView></RelativeLayout>
六、item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><ImageView android:id="@+id/iv_image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#ff0022"android:src="@drawable/ic_launcher"android:layout_margin="10dp"/><TextView android:id="@+id/tv_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="如果让他和会突然告诉对方"android:textSize="20sp"android:layout_toRightOf="@id/iv_image"android:background="#00ff00"android:layout_margin="5dp"/><TextView android:id="@+id/tv_content"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="而发热发供热个人供热隔热管"android:textSize="16sp"android:textColor="#ff000000"android:layout_toRightOf="@id/iv_image"android:layout_below="@id/tv_title"android:background="#00ffff"android:layout_margin="5dp"/></RelativeLayout>
七、运行效果
Android:复杂listview条目相关推荐
- Android旋转切换条目,Android:当我添加动态新的ListView条目时,ListView中的旋转器会丢失它们的值...
我的活动包含一个按钮和一个ListView. ListView包含Spinner和EditText视图.每次我想在Activity的ListView中插入一个新的行条目时,我都会使用该按钮. 我遵循了 ...
- Android疯狂ListView之旅 第一季 《侧滑删除条目》
题记 -- -- 静坐窗前,细数曾经,捡拾来时路上的点点滴滴,妥帖地收藏,让它们安静地沉睡,等风起的日子,轻轻地唤醒,陪我笑看落花. 落花的窗台,宛若初秋的原野,淌着流动的色彩,像一片片时光打磨的水黑 ...
- android 之ListView总结(一个综合实例)
实例效果: 后台逻辑: package com.hsj.example.paginationloadnetdatademo02;import android.graphics.Bitmap; impo ...
- android 之ListView分页效果以及从网络上加载数据一系列的综合运用
数据分页策略: <1>:用多少查多少 <2>:全部查询出来,再进行分页处理 数据分页的有关算法: (1):起始索引值 = (当前页-1)*每页显示的记录数 (2):结束索引值 ...
- android listview 中的checkbox,Android中ListView与CheckBox的使用,及问题解决
最近自己在编写有关SIM卡管理的软件做练习,其中使用到了ListView与CheckBox的的组合,遇到了和大家有同样的问题: 1.选中一个checkbox对应位置的其他checkbox也会被选中 2 ...
- Android中ListView的使用以及使用适配器设置数据源
场景 Android中使用Adapter(适配器)给RecycleView设置数据源: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...
- Android杂谈--ListView之SimpleAdapter的使用
Android杂谈--ListView之SimpleAdapter的使用 SimpleAdapter SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 Simp ...
- listview控件Android,Android中ListView控件的简单使用
文章引自郭霖<第一行代码> ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕 使用LIstView控件 1 在布局文件中引入Li ...
- 九、android的ListView实现数据列表展示
基于上一篇第八节的数据库操作为基础,对数据库中的内容在android界面上进行列表展示 1.工程结构: 列表显示示意图: 列表显示效果图: 2.界面的列表展示配置文件 item.xml: <?x ...
最新文章
- 删除隐藏的旧网卡信息的解决办法
- 8后淡入淡出没有了_8·30广州岑村ufo事件,人为制作的造假视频
- 获得md5加密后的字符串
- DirectShow组件原理分析及应用
- java 昵称1到32位字符_Java期末考试编程题复习
- mysql中where和and的区别
- GitHub 公开 B 站寄来的 DMCA 删除通知
- python基础----特性(property)、静态方法(staticmethod)、类方法(classmethod)、__str__的用法...
- “才子进销存”新一代真正基于互联网(Internet)的进销存分销管理软件
- linux不同内核驱动移植问题,基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九-2)...
- 求合体电脑版_网红界宋祖儿找了个年轻版言承旭当男友,一张合照就收割百万cp粉...
- arp***的判断与解决方案总结
- 编程语言的分类,以及网络瓶颈效应
- 8 Flask mega-tutorial 第8章 关注 Followers
- 构建面向异构算力的边缘计算云平台
- 2022年西藏最新建筑八大员(市政)模拟考试题库及答案
- ARM 微处理器的数据类型
- 【java删除指定文件夹或者文件】
- 解决CSDN博客文章 保存网页到本地后,页面显示不全的问题
- 论让人工智能AI学习思考具有智慧之新思路