標籤:style os cti re c line
如果AlertDialog裡有輸入框,那麼如何根據自己的需要關閉AlertDialog,網上有很多是通過反射方式。這裡有另外一種方法。
Builder builder = new Builder(MainActivity.this);
builder.setTitle("伺服器設定");
LayoutInflater inflater = LayoutInflater.from(this);
final View view = inflater.inflate(R.layout.edit, null);
builder.setView(view);
builder.setPositiveButton(R.string.ok, new AlertDialog.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setNegativeButton(R.string.cancel, new AlertDialog.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
final AlertDialog dialog = builder.create();
//builder.show();
dialog.show();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Boolean wantToCloseDialog = false;
//需要時修改wantToCloseDialog的值
if(wantToCloseDialog){
dialog.dismiss();
}else{
Toast.makeText(MainActivity.this, "伺服器位址不符合規範", Toast.LENGTH_SHORT).show();
}
}
});