Android中AlertDialog四种对话框的最科学编写用法(实例代码)
作者:Geeksongs 时间:2021-09-07 10:25:58
首先我们上图:
xml的代码如下,用于编写按钮:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
xmlns:widget="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<Button
android:id="@+id/button_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="简单的dialog"
/>
<Button
android:id="@+id/button_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="列表的dialog"
/>
<Button
android:id="@+id/button_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="单选的dialog"
/>
<Button
android:id="@+id/button_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="多选的dialog"
/>
</LinearLayout>
Java代码如下,用于实现逻辑:
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity{
int index;
String [] item = {"Android","IOS","Spark","Hadoop","Web"};
boolean[] bools = {false,false,false,false,false};
// 设置boolean数组所有的选项设置默认没选
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
Button button=(Button)findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.girl);
builder.setTitle("标题栏");
builder.setMessage("对话框内容,可自行设置");
builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "点击了取消", Toast.LENGTH_SHORT).show();
}
});
builder.setNeutralButton("好的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this, "点击了“好的”", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
Button button2=(Button)findViewById(R.id.button_2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择一个技术分支");
builder.setItems(item, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "选择了"+item[which], Toast.LENGTH_SHORT).show();
}
});
// 取消可以不添加
//builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
Button button3=(Button)findViewById(R.id.button_3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择技术分支:");
builder.setSingleChoiceItems(item, index, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
index = which;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "选择了"+item[index], Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
Button button4=(Button)findViewById(R.id.button_4);
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择技术分支:");
builder.setMultiChoiceItems(item, bools, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
bools[which] = isChecked;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < item.length; i++) {
if (bools[i]) {
sb.append(item[i] + " ");
}
}
Toast.makeText(MainActivity.this, "选择了" + sb.toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消",null);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
}
}
总结
以上所述是小编给大家介绍的Android中AlertDialog四种对话框的最科学编写用法网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/geeksongs/archive/2019/11/24/11922012.html
标签:android,alertDialog,对话框
0
投稿
猜你喜欢
Java多线程之synchronized关键字的使用
2023-12-12 21:46:16
JSON 与对象、集合之间的转换的示例
2021-12-04 20:08:58
解读classpath读取resources目录下的文件
2023-01-25 05:49:36
Android编程实现使用webView打开本地html文件的方法
2023-04-26 14:30:38
C# WinForm快捷键设置技巧
2023-07-20 07:03:13
java抓取网页或文件中的邮箱号码
2023-07-30 19:19:28
IDEA离线安装maven helper插件的图文教程
2023-11-28 16:00:24
浅谈Java中Spring Boot的优势
2022-12-25 17:36:52
MyBatis的SUM映射问题及解决
2023-01-07 17:27:04
C语言数据结构之单链表与双链表的增删改查操作实现
2023-01-24 07:27:35
SpringBoot中@ConfigurationProperties 配置绑定
2023-04-07 04:02:57
SpringBoot项目为何引入大量的starter?如何自定义starter?
2022-12-28 21:39:02
IDEA中的maven没有dependencies解决方案
2021-08-01 11:58:50
Java IO流—异常及捕获异常处理 try…catch…finally
2023-03-14 07:35:52
Java 8 中 Map 骚操作之 merge() 的使用方法
2022-03-31 01:19:27
Android复选框CheckBox与开关按钮Switch及单选按钮RadioButton使用示例详解
2023-02-06 18:20:42
Spring Data JPA 复杂/多条件组合分页查询
2021-09-06 02:57:55
Spring Cloud Gateway 默认的filter功能和执行顺序介绍
2021-07-01 21:31:46
Android开发之SD卡文件操作分析
2022-01-09 04:55:16
Java代码实现微信页面滚动防露底(核心代码)
2023-11-10 13:47:08