对话触发一次
问题描述:
我有列表视图用图标,当我点击图标 它触发dailog..my实现如下对话触发一次
private void sendmessage() {
final Dialog dialog = new Dialog(getActivity(),
R.style.FullHeightDialog);
dialog.setContentView(R.layout.customdailog);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
try {
final EditText edittext = (EditText) dialog
.findViewById(R.id.fbedittext);
spinner = (Spinner) dialog.findViewById(R.id.replyspinner);
Button diButton = (Button) dialog.findViewById(R.id.fbshare);
ImageView dialogcancelButton = (ImageView) dialog
.findViewById(R.id.fbreplycancel);
dialogcancelButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
getActivity().finish();
}});
diButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
String userComment = edittext.getText().toString();
boolean postStatus=true;
postStatus=false;
}
postReply(userComment,postStatus);
getActivity().finish();
}
} } catch (Exception e) {}});
dialog.show();
dialog.getWindow().setAttributes(lp);
} catch (Exception e) {
e.printStackTrace();
getActivity().finish();
}
}
我的问题是dailog被触发一次 例如,当我点击图标第一次dailog后打开 我点击取消按钮或按回按钮,当我点击第二次时dailog不打开, 不知道最新情况发生。任何帮助表示赞赏。 。
答
解决了与setOnCancellistener
dialog.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
getActivity().finish();
}
});
你能告诉你为什么要使用getActivity()结束();在OnClickListener – 2013-02-21 15:47:19
,因为它是在片段类中取消dailog是使用getActivity()。finish(); ..和thx与我评论我找到了解决方案。我打电话给setoncancelListener并执行getActivity()。finish(); – teekib 2013-02-22 09:57:30