如何制作手机通讯录

zwz1110 2017-11-08 10:38:00
package com.example.contacts.activity;

import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.Toast;


import com.example.contacts.R;
import com.example.contacts.adapter.UserAdapter;
import com.example.contacts.biz.ContactsBiz;
import com.example.contacts.biz.ContactsBizImpl;
import com.example.contacts.dao.ContactDao;
import com.example.contacts.dao.DBOpenHelper;
import com.example.contacts.entity.User;

public class MainActivity extends Activity {
private ListView listView;
private BaseAdapter listViewAdapter;//listview的适配器
private User users ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listView = (ListView) findViewById(R.id.listView);

}



@Override
protected void onStart() {
loadContacts();
super.onStart();
}



//给ListView装载数据
private void loadContacts() {
//调用事务层的功能去获得数据
ContactsBiz contactsBiz = new ContactsBizImpl(this);
final List<User> users = contactsBiz.getAllUsers();

if(users==null||users.size()==0) return;

listViewAdapter = new UserAdapter(this,users);
listView.setAdapter(listViewAdapter);
}

/**
* 创建选项菜单
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, 1, Menu.NONE, "添加");
menu.add(Menu.NONE, 2, Menu.NONE, "编辑");
menu.add(Menu.NONE, 3, Menu.NONE, "查看信息");
menu.add(Menu.NONE, 4, Menu.NONE, "删除");
menu.add(Menu.NONE, 5, Menu.NONE, "查询");
menu.add(Menu.NONE, 6, Menu.NONE, "导入到手机电话簿");
menu.add(Menu.NONE, 7, Menu.NONE, "退出");
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case 1:
//添加联系人
Intent intent = new Intent(this,AddContactsActivity.class);
startActivity(intent);
break;
case 2:
//TODO 修改联系人信息
break;
case 3:
//TODO 查看联系人信息
break;
case 4:
//TODO 删除联系人
delete();
break;
case 5:
//TODO 查询联系人
break;
case 6:
//TODO 将联系人导入到手机电话簿
break;
case 7:
finish();
}
return super.onOptionsItemSelected(item);
}



private void delete() {

// ct.delete("TABLE_CONTACT", "FIELD_ID=?", new String[]{id});
Builder alert = new AlertDialog.Builder(this);
alert.setTitle("系统信息");
alert.setMessage("是否要删除联系人?");
alert.setPositiveButton("是",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
ContactDao ct=new ContactDao(MainActivity.this);
//删除联系人信息
ct.delete(getString(users.getId()));
}
});

//我不知道怎么在菜单中点击删除会执行上面的delete

}

}
...全文
611 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
窃格瓦拉 2017-11-10
  • 打赏
  • 举报
回复
你在menu里面点击弹出个删除,你是要删除整个listview吗?你就没有选择删除那一条,怎么删除?还不如把添加.删除,更改逻辑都加在listview的条目上,写在listView.setOnItemClickListener()里面,如果你非要用menu的话,你的这个listview要有浏览模式和修改模式,删除.更改,查看单个联系人信息的时候,用修改模式(也就是在每个条目上加个标记,标记是否选中),平时用浏览模式.不过这样很麻烦.
r00_a2lBUR 2017-11-10
  • 打赏
  • 举报
回复
到资源那里查一下,应该会有现成的Demo

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧