复杂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条目相关推荐

  1. Android旋转切换条目,Android:当我添加动态新的ListView条目时,ListView中的旋转器会丢失它们的值...

    我的活动包含一个按钮和一个ListView. ListView包含Spinner和EditText视图.每次我想在Activity的ListView中插入一个新的行条目时,我都会使用该按钮. 我遵循了 ...

  2. Android疯狂ListView之旅 第一季 《侧滑删除条目》

    题记 -- -- 静坐窗前,细数曾经,捡拾来时路上的点点滴滴,妥帖地收藏,让它们安静地沉睡,等风起的日子,轻轻地唤醒,陪我笑看落花. 落花的窗台,宛若初秋的原野,淌着流动的色彩,像一片片时光打磨的水黑 ...

  3. android 之ListView总结(一个综合实例)

    实例效果: 后台逻辑: package com.hsj.example.paginationloadnetdatademo02;import android.graphics.Bitmap; impo ...

  4. android 之ListView分页效果以及从网络上加载数据一系列的综合运用

    数据分页策略: <1>:用多少查多少 <2>:全部查询出来,再进行分页处理 数据分页的有关算法: (1):起始索引值 = (当前页-1)*每页显示的记录数 (2):结束索引值 ...

  5. android listview 中的checkbox,Android中ListView与CheckBox的使用,及问题解决

    最近自己在编写有关SIM卡管理的软件做练习,其中使用到了ListView与CheckBox的的组合,遇到了和大家有同样的问题: 1.选中一个checkbox对应位置的其他checkbox也会被选中 2 ...

  6. Android中ListView的使用以及使用适配器设置数据源

    场景 Android中使用Adapter(适配器)给RecycleView设置数据源: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...

  7. Android杂谈--ListView之SimpleAdapter的使用

    Android杂谈--ListView之SimpleAdapter的使用 SimpleAdapter SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 Simp ...

  8. listview控件Android,Android中ListView控件的简单使用

    文章引自郭霖<第一行代码> ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕 使用LIstView控件 1 在布局文件中引入Li ...

  9. 九、android的ListView实现数据列表展示

    基于上一篇第八节的数据库操作为基础,对数据库中的内容在android界面上进行列表展示 1.工程结构: 列表显示示意图: 列表显示效果图: 2.界面的列表展示配置文件 item.xml: <?x ...

最新文章

  1. 删除隐藏的旧网卡信息的解决办法
  2. 8后淡入淡出没有了_8·30广州岑村ufo事件,人为制作的造假视频
  3. 获得md5加密后的字符串
  4. DirectShow组件原理分析及应用
  5. java 昵称1到32位字符_Java期末考试编程题复习
  6. mysql中where和and的区别
  7. GitHub 公开 B 站寄来的 DMCA 删除通知
  8. python基础----特性(property)、静态方法(staticmethod)、类方法(classmethod)、__str__的用法...
  9. “才子进销存”新一代真正基于互联网(Internet)的进销存分销管理软件
  10. linux不同内核驱动移植问题,基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九-2)...
  11. 求合体电脑版_网红界宋祖儿找了个年轻版言承旭当男友,一张合照就收割百万cp粉...
  12. arp***的判断与解决方案总结
  13. 编程语言的分类,以及网络瓶颈效应
  14. 8 Flask mega-tutorial 第8章 关注 Followers
  15. 构建面向异构算力的边缘计算云平台
  16. 2022年西藏最新建筑八大员(市政)模拟考试题库及答案
  17. ARM 微处理器的数据类型
  18. 【java删除指定文件夹或者文件】
  19. 解决CSDN博客文章 保存网页到本地后,页面显示不全的问题
  20. 论让人工智能AI学习思考具有智慧之新思路

热门文章

  1. [导入]用户控件包装器
  2. HelloDjango 启动!免费带你学Django全栈!
  3. socket的原理和实验
  4. 【u009】瑞瑞的木板
  5. Android时间戳与字符串相互转换
  6. 生物信息Python-从入门到精通?
  7. 使用CocoaPods被卡住:Updating local specs repositories
  8. cygwin下各盘挂载点
  9. 19 个 K8S 日常故障处理集锦
  10. CentOS下PostgreSQL 主从实现之异步流复制(Hot Standby)