Android 模式对话框提示Dialog
2024-10-12 08:43:00
1、先写一个Dialog类
CustomDialog
package com.example.heng.adtest; import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Gravity;
import android.widget.Toast; public class CustomDialog {
//声明一个Diaglog
private AlertDialog.Builder builder;
//上下文对象
private Context context; public CustomDialog(Context cnt)
{
this.context = cnt;
} //声明弹出框方法
//buttontext :按钮名称
//title :标题
//message:信息
//callbock:返回信息
public void CreateDialog(String buttontext, String title, String message, final CallBack callbock){
builder = new AlertDialog.Builder(context);
builder.setTitle(title);
builder.setMessage(message);
//添加确定按钮
builder.setPositiveButton(buttontext, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//业务逻辑判断
callbock.isConfirm(true);
}
});
builder.create().show();
} public interface CallBack{
public void isConfirm(boolean flag);
}
//声明toasts方法 比较简单的提示框。
public void createToasts(String message) {
Toast.makeText(context,message,Toast.LENGTH_LONG).show();
}
}
2、在MainActivity中调用
package com.example.heng.adtest; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button buttonA;
private Button buttonB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); buttonA = (Button) this.findViewById(R.id.button1);
buttonB = (Button) this.findViewById(R.id.button2);
buttonA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CustomDialog dialog = new CustomDialog(MainActivity.this);
dialog.CreateDialog("确定", "提示", "确定要删除吗?", new CustomDialog.CallBack() {
@Override
public void isConfirm(boolean flag) {
System.out.println("---------->>"+flag);
if (flag){ }
}
});
}
}); buttonB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CustomDialog dialog = new CustomDialog(MainActivity.this);
dialog.createToasts("网路有异常!");
}
);
}
}
3、页面内容
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.heng.adtest.MainActivity"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/textView" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="dialog提示"
android:id="@+id/button1"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="38dp"
android:layout_marginStart="38dp"
android:layout_marginTop="46dp" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:layout_toRightOf="@+id/button1"
android:layout_alignLeft="@+id/button1"
android:layout_alignStart="@+id/button1"
android:layout_marginTop="159dp"
android:text="普通提示" />
</RelativeLayout>
最新文章
- 编译链接 C++
- Android常用元件
- HTML5基础之textarea 和lable
- Juery Ajax语法
- PC端重置
- 【逆向怎么玩】 动态调试一款牛逼C++ IDE实录
- 浅谈HAL
- Bluetooth LE(低功耗蓝牙) - 第六部分(完)
- ajax提交整个form表单
- vue小白快速入门
- Angular 和 Vue 使用的对比总结 -- 脚手架
- 5.2、Android Studio截图
- sql day2
- anu小程序快速入门
- mouseover和mouseenter,mouseout和mouseleave的区别-引发的探索
- Docker 命令收集
- SharePoint REST API - 文件夹和文件
- Java之File类详解
- 今天才明白VC++.net的含义: VS系列的c++编译器可以支持托管C++(类似于C#,具体请看MS在线文档),当然包括winform界面开发。
- eclipse 里,打开的文件的各个标签,标题乱码。