安卓学习笔记之自定义AlertDialogUtils工具
使用步骤
- 初始化View,传入要使用的布局文件的id
- 获取控件id,并进行相关操作
- 显示对话框
- 最后使对话框消失
使用实例:
final AlertDialog dialog = AlertDialogUtils.loadView(R.layout.dialog_delete_confirm, CommunicationGuardParts.this);
BlacklistInfo info = infos.get(position);
AlertDialogUtils.setText(R.id.tv_delete_number, info.getNumber());
AlertDialogUtils.setText(R.id.tv_delete_name, info.getName());
dialog.show();
/**
* 删除黑名单
*/
AlertDialogUtils.getView(R.id.bt_delete).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
deleteBlacklist(position);
}
});
/**
* 取消删除
*/
AlertDialogUtils.getView(R.id.bt_quit).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
AlertDialogUtils源代码:
package com.yu.utils;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
/**
* 弹出对话框
* @author Administrator
*
*/
public class AlertDialogUtils {
static AlertDialog dialog;
static View view;
/**
* 初始化视图
* @param resId
* @param context
*/
public static AlertDialog loadView(int resId,Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
dialog = builder.create();
view = View.inflate(context, resId, null);
dialog.setView(view , 0, 0, 0, 0);
return dialog;
}
/**
* 获得dialog的子View
* @param id
* @return
*/
public static View getView(int id) {
View v = view.findViewById(id);
return v;
}
/**
* 设置TextView文本
* @param id
* @param text
*/
public static void setText(int id,String text) {
TextView v = (TextView) getView(id);
v.setText(text);
}
/**
* 设置Button文本
* @param id
* @param text
*/
public static void setButtonText(int id,String text) {
Button bt = (Button) getView(id);
bt.setText(text);
}
/**
* 设置ImageView图片
* @param id
* @param bitmap
*/
public static void setImageBitmap(int id,Bitmap bitmap) {
ImageView iv = (ImageView) getView(id);
iv.setImageBitmap(bitmap);
}
/**
* 显示dialog
*/
public void show() {
dialog.show();
}
/**
* 使对话框消失
*/
public void dismiss() {
dialog.dismiss();
}
}
...
AlertDialogUtils可支持更多拓展,实现丰富功能。