有很多种交互方式,推荐一种比较方便的方式:
在actitivy中声明一个成员:private Map<String, Object> mDlgExchangeMap = new HashMap<String, Object>();
在交互时,引用此map即可。如下:
AlertDialog.Builder dlgBuilder = new AlertDialog.Builder(this);
dlgBuilder.setTitle("请输入新名称");
EditText et = new EditText(this);
mDlgExchangeMap.clear();
mDlgExchangeMap.put("Input EditText", et);
mDlgExchangeMap.put("Position",
Integer.valueOf(position));
dlgBuilder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
EditText et = (EditText) mDlgExchangeMap
.get("Input EditText");
if (et != null) {
int pos = (Integer) mDlgExchangeMap
.get("Menu Postion");
//do some working...
mDlgExchangeMap.clear();
}
}
});
dlgBuilder.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
mDlgExchangeMap.clear();
}
});