继续上一篇
功能如图做事
在对话的文本框中输入要添加的电话号吗然后在列表中显示
在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();
}
下一篇数据库的更新以及删除