关于setNegativeButton 和setPositiveButton的疑问

setPositiveButton(builder);
setNegativeButton(builder).create().show();
为什么第一个方法不用.create().show()
如果两个方法都用的话,首先弹出的对话框不管点击确定还是取消
都会在弹出一个对话框,只有一个按钮,显示第一个.create().show()的按钮
这是怎么回事?
谢谢

private AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){
return builder.setPositiveButton("确定", new OnClickListener(){

        @Override
        public void onClick(DialogInterface dialog,int which){
            show.setText("单机【确定】按钮");
        }
    });
}

private AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder){
    return builder.setNegativeButton("取消", new OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog,int which){
            show.setText("单机了【取消】按钮");
        }
    });
}
 .create().show();是创建和显示对话框。
 如果
 setPositiveButton(builder).create().show();//只要碰到show就显示了,下面的代码就和弹出窗没关系了。
setNegativeButton(builder).create().show();

所以create和show要放到最后。