Android--数据库的增删改查之数据库的增加

本文介绍如何在Android应用中实现电话号码黑名单功能,包括使用ListView展示黑名单号码、通过自定义Adapter填充数据以及添加号码时的重复检查机制。

继续上一篇

功能如图做事


在对话的文本框中输入要添加的电话号吗然后在列表中显示

在MainActivity中主要有以下几个成员变量

        private ListView lv_show;
	private TextView tv_show;
	private List<number> data;
	private myAdapter adapter;
	private numberADO ado;
	private int position;

首先是ListView的实现,

                lv_show = getListView();
		adapter = new myAdapter();
		ado = new numberADO(this);
		data = ado.select();
		setListAdapter(adapter);
		
		//对list设置监听
		lv_show.setOnCreateContextMenuListener(this);
然后使用BaseAdapter需要使用一个TestView新建一个textviewdemo.xml

<TextView  
    android:id="@+id/tv_show"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp"/>
接着新建一个类MyAdapter重写BaseAdapter

<pre name="code" class="java">class myAdapter extends BaseAdapter {

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return data.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return data.get(position);
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			View view;
			if (convertView == null) {
				view= View.inflate(MainActivity.this, R.layout.textviewdemo, null);
			} else {
				view = convertView;
			}
			number number = data.get(position);
			tv_show = (TextView) view.findViewById(R.id.tv_show);
			
			tv_show.setText(number.getNumber());
			return view;
		}
		
	}


以及增加按钮的实现

	public void add (View v) {
		final EditText editText = new EditText(this);
		editText.setHint("添加黑名单");
		//1.设置对话框
		new AlertDialog.Builder(this)
		.setTitle("添加黑名单")
		.setView(editText)
		.setNegativeButton("取消", null)
		.setPositiveButton("确定", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				String num = editText.getText().toString();
				
				List<number> list = ado.select();
					Log.e("TAG", list.toString());
					Log.e("TAG", list.get(1).getNumber());
				//避免电话号重复添加
				boolean flag = true;
				for (int i=0;i<list.size();i++) {
					if (list.get(i).getNumber().equals(num)) {
						flag=false;
					}
 				}
				
				if (flag) {
					//保存数据表中
					number number = new number(-1,num);
					ado.addnumber(number);
					//将数据保存在list
//					data.add(number);
					data.add(0, number);
					//更新列表
					adapter.notifyDataSetChanged();
				} else {
					Toast.makeText(MainActivity.this, "已经有该号码了", 1).show();
				}														
			}
		})
		.show();
	}

下一篇数据库的更新以及删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值