Java 对话框在if条件下不关闭
我试图在条件真实的情况下关闭对话框,但它不起作用。 在对话框中,在if条件下输入,但不关闭。在if条件下,正确显示toast消息Java 对话框在if条件下不关闭,java,android,progressdialog,Java,Android,Progressdialog,我试图在条件真实的情况下关闭对话框,但它不起作用。 在对话框中,在if条件下输入,但不关闭。在if条件下,正确显示toast消息 public void showIncomingCall() { int getTotal = 0; if(showincoming != null && showincoming.isShowing() ) { //adapter1.notifyDataSetChanged(
public void showIncomingCall() {
int getTotal = 0;
if(showincoming != null && showincoming.isShowing() )
{
//adapter1.notifyDataSetChanged();
//showincoming.dismiss();
return;
}
else {
showincoming = new Dialog(MainActivity.this);
showincoming.requestWindowFeature(Window.FEATURE_NO_TITLE);
showincoming.setContentView(R.layout.custome_dialog);
listdialog = (ListView) showincoming.findViewById(R.id.incoming_list);
//adapter1 = new CustomeListAdapter(MainActivity.this);
listdialog.setAdapter(adapter1);
//adapter1.notifyDataSetChanged();
close = (ImageButton) showincoming.findViewById(R.id.dialog_close);
close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showincoming.dismiss();
adapter1.notifyDataSetChanged();
}
});
adapter1.notifyDataSetChanged();
for (int i = 0; i < listdialog.getCount(); i++) {
parentView = getViewByPosition(i, listdialog);
String getString = ((TextView) parentView.findViewById(R.id.tvLineStatus)).getText().toString();
if (getString.toString().equals("Idle") || getString.toString().equals("Disconnect") || getString.toString().equals("Dialing")) {
getTotal += 1;
}
}
if (getTotal >= 7) {
showincoming.dismiss();
Toast.makeText(getApplicationContext(),"getTotal" + getTotal,Toast.LENGTH_LONG).show();
adapter1.notifyDataSetChanged();
//adapter1.setNotifyOnChange(true);
}
//Toast.makeText(MainActivity.this,getTotal+"getTotal",Toast.LENGTH_LONG).show();
adapter1.notifyDataSetChanged();
listdialog.invalidateViews();
if(!showincoming.isShowing()) {
showincoming.show();
}
}
}
public void showincingcall(){
int getTotal=0;
if(showincoming!=null&&showincoming.isShowing())
{
//adapter1.notifyDataSetChanged();
//showincoming.disclose();
返回;
}
否则{
showincoming=新建对话框(MainActivity.this);
showincoming.requestWindowFeature(窗口.功能\u无\u标题);
showincoming.setContentView(R.layout.custome_对话框);
listdialog=(ListView)showincoming.findViewById(R.id.incoming\u列表);
//adapter1=新的CustomeListAdapter(MainActivity.this);
setAdapter(adapter1);
//adapter1.notifyDataSetChanged();
close=(ImageButton)showincoming.findViewById(R.id.dialog\u close);
close.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
showincoming.disclose();
adapter1.notifyDataSetChanged();
}
});
adapter1.notifyDataSetChanged();
对于(int i=0;i=7){
showincoming.disclose();
Toast.makeText(getApplicationContext(),“getTotal”+getTotal,Toast.LENGTH_LONG).show();
adapter1.notifyDataSetChanged();
//adapter1.setNotifyOnChange(true);
}
//Toast.makeText(MainActivity.this,getTotal+“getTotal”,Toast.LENGTH\u LONG.show();
adapter1.notifyDataSetChanged();
listdialog.invalidateViews();
如果(!showincoming.isShowing()){
showincoming.show();
}
}
}
showincoming=新建对话框(MainActivity.this)代码>
在下面声明int getTotal=0代码>
i、 e外部else
语句
然后,您可以获得对话框对象的引用,并可以取消对话框。试试这个,让我知道您在逻辑上调用dismise()before show()方法,为什么?基本上你不能这样做,因为当你的对话框打开时…你的主要活动将被暂停…因此它的代码将不会执行…你必须从打开的对话框中删除对话框本身我尝试删除对话框,即使在对话框删除后我也会删除对话框正确显示但对话框不会删除。我正在尝试,但没有即使在解雇diaog后仍然有效,我称之为吐司,效果非常好:(仅当用于显示对话框的对象不可用于关闭对话框时,才会发生这种情况。请尝试在循环或if else语句中仅写入dialog.show方法。声明和初始化应在方法或类级别完成Oh thanx我将尝试此操作是的,我尝试但关闭不起作用,因为在else part dialog对象中使用h第二个堆索引。我想在else部分初始化对象,因为若对话框已显示,那个么它不会更新listview,而是生成新的对话框