String[] states = new String[] { "在线", "隐身", "离开" };
new AlertDialog.Builder(this)
.setItems(states, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Presence presence = new Presence(Presence.Type.available);
switch (which) {
case 0:
break;
case 1:
presence.setType(Presence.Type.unavailable);
break;
case 2:
presence.setMode(Mode.away) ;
break;
}
XmppManager.sendPresence(presence);
}
}).setPositiveButton("取消", null).setTitle("修改状态").show();
这段代码是让用户选择在线状态的,正好AlertDialog提供了这样的接口,如果没有把statas当做list Item填充进去的话,这里还需要很多步骤才能达到上面接口的效果。这段代码很简洁。值得学习。