📄 showpersonlist.java
字号:
import java.util.Enumeration;
import java.util.Vector;
import javax.microedition.lcdui.*;
import javax.microedition.pim.*;
public class showPersonList extends List implements CommandListener {
private final Command selectCommand=new Command("查看",Command.ITEM,1);
private final Command backCommand=new Command("后退",Command.BACK,1);
private final Command removeCommand=new Command("删除",Command.SCREEN,3);
private final Command newCommand=new Command("新建",Command.SCREEN,2);
private final Command categoryCommand=new Command("分组列表",Command.OK,1);
private final ContactListDemo midlet;
private final Displayable displayable;
private final int listTpye=PIM.CONTACT_LIST;
private final PIMList list;
private final Vector itemList=new Vector();
private final int fieldCode=Contact.FORMATTED_NAME;
private String currentcategory=PIMList.UNCATEGORIZED;
public showPersonList(ContactListDemo _midlet,Displayable _displayable,PIMList _list ) throws PIMException {///jsr 75 包 PIN
super("选择联系人", List.IMPLICIT);
midlet=_midlet;
list=_list;
displayable=_displayable;
addCommand(backCommand);
addCommand(newCommand);
addCommand(categoryCommand);
setCommandListener(this);
populateList();
}
public void populateList() throws PIMException{
deleteAll();
removeCommand(selectCommand);
removeCommand(removeCommand);
itemList.removeAllElements();
// for(Enumeration items=list.items();items.hasMoreElements();){
for(Enumeration items=list.itemsByCategory(currentcategory);items.hasMoreElements();){
PIMItem item=(PIMItem) items.nextElement();
String lable=this.getDisplayedField(item);
if(lable==null){
lable="<Incomplete data>";
}
append(lable, null);
itemList.addElement(item);
}
if(size()>0){
setSelectCommand(selectCommand);
addCommand(removeCommand);
}
}
public String getDisplayedField( PIMItem item)
{
fixDisplayField(item);
String fieldValue=null;
if(item.countValues(fieldCode)!=0){
String s=item.getString(fieldCode, 0);
if(s!=null&&s.trim().length()!=0){
fieldValue=s;
}
}
return fieldValue;
}
public void fixDisplayField(PIMItem item)
{
if(listTpye==PIM.CONTACT_LIST)
{
boolean define=false;
if(item.countValues(fieldCode)!=0){
String s=item.getString(fieldCode, 0);
if(s!=null&&s.trim().length()>0)
{
define=true;
}
}
if(!define)
{
if(item.countValues(Contact.NAME)!=0){
String []a=item.getStringArray(Contact.NAME, 0);
if(a!=null)
{
StringBuffer sb=new StringBuffer();
if(a[Contact.NAME_GIVEN]!=null)
{
sb.append(a[Contact.NAME_GIVEN]);
}
if(a[Contact.NAME_FAMILY]!=null)
{
if(sb.length()>0){
sb.append("");
}
sb.append(a[Contact.NAME_FAMILY]);
}
String s=sb.toString().trim();
if(s.length()>0){
if(item.countValues(fieldCode)==0){
item.addString(fieldCode, Contact.ATTR_NONE, s);
}
else {
item.setString(fieldCode, 0, Contact.ATTR_NONE, s);
}
}
}
}
}
}
}
public String getCurrentCategory()
{
return currentcategory;
}
public void setCurrentCategory(String category)
{
currentcategory= category;
}
public void commandAction(Command c, Displayable d) {
if(c==backCommand){
Display.getDisplay(midlet).setCurrent(displayable);
}else if(c==selectCommand){
try {
PIMItem item=(PIMItem) itemList.elementAt(getSelectedIndex());
Displayable sreen=new showContactInfoSreen(midlet,this,list,item);
Display.getDisplay(midlet).setCurrent(sreen);
} catch (Exception e) {
}
}
else if(c==removeCommand){
try {
PIMItem item=(PIMItem) itemList.elementAt(getSelectedIndex());
((ContactList)list).removeContact((Contact)item);///
populateList();//////
} catch (Exception e) {
}
}
else if(c==newCommand){
PIMItem item= ((ContactList)list).createContact();
item.addString(fieldCode , PIMItem.ATTR_NONE, "");
Displayable sreen=new showContactInfoSreen(midlet,this,list,item);
Display.getDisplay(midlet).setCurrent(sreen);
}
else if(c==categoryCommand){
Display.getDisplay(midlet).setCurrent(new categorysList(midlet,this,list));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -