package com.michael.doubanonline.dialog;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.michael.doubanonline.R;
/**
* 确认或取消对话框
*
* */
public class DialogCancelOrComfirm implements OnClickListener
{
public static final int BUTTON_CANCEL = 0;
public static final int BUTTON_COMFIRM = 1;
public DialogCancelOrComfirm(Context context)
{
initDialog(context);
}
private Dialog dialog;
private TextView tvTitle;
private Button btnCancel;
private Button btnComfirm;
private void initDialog(Context context)
{
LayoutInflater layoutInflater = ((Activity) context).getLayoutInflater();
View customDialog = layoutInflater.inflate(R.layout.layout_dialog_cancel_or_comfirm, new LinearLayout(context), false);
tvTitle = (TextView) customDialog.findViewById(R.id.tvTitle);
btnCancel = (Button) customDialog.findViewById(R.id.btnCancel);
btnComfirm = (Button) customDialog.findViewById(R.id.btnComfirm);
btnCancel.setOnClickListener(this);
btnComfirm.setOnClickListener(this);
dialog = new Dialog(context, R.style.custom_dialog);
dialog.setContentView(customDialog);
}
public void showDialog(String title)
{
if (dialog != null)
{
tvTitle.setText(title);
dialog.show();
}
}
@Override
public void onClick(View view)
{
int index = -1;
switch (view.getId())
{
case R.id.btnCancel:
index = BUTTON_CANCEL;
break;
case R.id.btnComfirm:
index = BUTTON_COMFIRM;
break;
default:
break;
}
if(onButtonClicked != null)
{
onButtonClicked.clicked(index);
}
}
public void dismissDialog()
{
if (dialog != null && dialog.isShowing())
{
dialog.dismiss();
}
}
private OnComfirmButtonClicked onButtonClicked;
public void setOnComfirmButtonClicked(OnComfirmButtonClicked onButtonClicked)
{
this.onButtonClicked = onButtonClicked;
}
public interface OnComfirmButtonClicked
{
public void clicked(int buttonIndex);
}
}