在我的前面博客中:http://blog.csdn.net/writerpan/article/details/24912637,我用activity伪装成模态框,并用Intent调用,但是这样遇到一个问题:
实例代码:http://download.csdn.net/detail/writerpan/7286485
我有两个activity分别掉用我的模态框:如图界面可以直接添加好友即召唤出模态框,也可以进入查看资料后召唤出添加好友的模态框:
召唤出模态框后,添加成功或者失败后又有不同的操作,在第一个界面添加成功后刷新界面,第二个界面添加成功后关闭界面:
添加后关闭对话框,刷新好友列表
添加后关闭模态框,关闭资料界面,回到好友列表:
具体方法是:在添加成功后判断用户资料activity是否存在,存在就关闭,不存在就不关闭
所以:如何判断,如何在模态框的activity下关闭不知道存在不存在的用户资料activity?
方法如下:
在用户资料activity中添加一个静态引用,指向this:在初始化数据的时候给它赋值
public class InfoUser extends Activity {
private ImageView headImage;
private TextView userName;
private TextView userQQShow;
private TextView adressShow;
private TextView userDisShow;
private TextView phoneShow;
private Button showButton;
private User user;
private int isFriend;
private List<String> mGroup;
static InfoUser myInfoUser;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.info_xiaohei);
initView();
initData();
}
private void initData() {
myInfoUser = this;
user = (User) getIntent().getSerializableExtra("user");
isFriend = getIntent().getIntExtra("isFrend",0);
mGroup = getIntent().getStringArrayListExtra("groupname");
if(isFriend == 0){//不是好友
showButton.setText("添加好友");
showUser();
}else{//是好友
showButton.setText("发送消息");
showUser();
}
}
在添加好友成功的方法中去判断存在不:存在则调用UserIfo.this.finish()
T.showShort(AddFriend.this, "添加成功");
if(InfoUser.myInfoUser != null){
InfoUser.myInfoUser.finish();//关闭好友信息界面
}
finish();//关闭当前添加界面
测试通过,但是总觉得不太好,有优化的方法请留言,谢谢。