android的一些组件学习
16lz
2022-03-16
1,ListView
参考: http://flysnow.iteye.com/blog/865944 http://blog.csdn.net/chenzheng_java/article/details/6202586package com.example.fortest;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.zyj.util.DBHelper;import com.zyj.util.UserListAdapter;import android.app.Activity;import android.app.ListActivity;import android.content.Context;import android.database.Cursor;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class UserList extends ListActivity { //数据数据 private static final String[] COUNTRIES=new String[]{"中国","俄罗斯","英国","法国"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//方法一,不使用XML,类继承ListActivity/*//设置一个AdaptersetListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,COUNTRIES));*///方法二,使用XML布局文件/*setContentView(R.layout.activity_user_list);setListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,COUNTRIES));*///方法三,自定义要展示的元素ArrayList> data = getData();//模仿SimpleAdapter实现的自己的adapter setListAdapter(new UserListAdapter(this, data)); }//listItem单击事件@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) {Toast.makeText(this, "您单击了",Toast.LENGTH_LONG).show();}//得到用户数据private ArrayList> getData(){ ArrayList> list = new ArrayList>();DBHelper dbHelper = new DBHelper(this);Cursor c = dbHelper.query();if (c.moveToFirst() && c.getCount()>0) {for(int i = 0;i m = new HashMap();m.put("_id", c.getString(0));m.put("name", c.getString(1));m.put("pwd", c.getString(2));list.add(m);}}return list;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.user_list, menu);return true;} //元素的缓冲类,用于优化ListView private static class ItemViewCache{public TextView idTextView;public TextView nameTextView;public TextView pwdTextView;}/** * 自定义用户列表listview * @author zyj * */public class UserListAdapter extends BaseAdapter {private ArrayList> data;private Context context; private LayoutInflater inflater; public UserListAdapter(Context c,ArrayList> d){this.context = c;this.data = d; inflater = LayoutInflater.from(context);}//元素的个数@Overridepublic int getCount() {return data.size();}//获取某一个位置的数据@Overridepublic Object getItem(int position) {return data.get(position);}//获取唯一标识@Overridepublic long getItemId(int position) {return position;}//生成在ListView中展示的一个个元素View@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ItemViewCache cache = null;//优化ListViewif(convertView == null){convertView =inflater.inflate(R.layout.activity_user_list, null);cache = new ItemViewCache();cache.idTextView = (TextView) convertView.findViewById(R.id.id);cache.nameTextView = (TextView) convertView.findViewById(R.id.name);cache.pwdTextView = (TextView) convertView.findViewById(R.id.pwd);convertView.setTag(cache);}else {cache = (ItemViewCache) convertView.getTag();}//设置文本,然后返回这个View,用于ListView的Item展示cache.idTextView.setText((String)data.get(position).get("_id"));cache.nameTextView.setText((String)data.get(position).get("name"));cache.pwdTextView.setText((String)data.get(position).get("pwd"));return convertView;}}}
2,日期对话框
参考好文:android动态改变对onCreateDialog对话框值 http://www.111cn.net/sj/android/46484.htm
更多相关文章
- android开发模式LiveData+ViewModel+Room+Retrofit
- MySQL: 基于 Android(安卓)远程连接
- Android中模拟器如何访问本地mysql数据库
- android(17)_数据存储与访问_SQLite数据库_修改数据库
- android 数据库更改数据库位置【DbFlow示范】
- android之Gallery
- Android页面跳转是如何传递参数的
- android登录简单窗口
- mybatisplus的坑 insert标签insert into select无参数问题的解决