创建AlertDialog的步骤:

1. 创建AlertDialog.Builder对象

首先,我们需要创建一个AlertDialog.Builder对象。这个对象将用于构建我们的对话框。

```java

AlertDialog.Builder builder = new AlertDialog.Builder(this);

```

2. 设置标题和图标

接下来,我们可以使用setTitle方法设置对话框的标题,使用setIcon方法设置对话框的图标。

```java

builder.setTitle("提示");

builder.setIcon(R.drawable.ic_alert);

```

3. 设置不同类型的对话框内容

根据需要,我们可以使用不同的Builder相关方法来设置对话框的内容。例如,setMessage方法用于设置简单文本内容,setItems方法用于设置列表项,setSingleChoiceItems方法和setMultiChoiceItems方法分别用于设置单选按钮和多选按钮。setAdapter方法用于为列表设置适配器,setView方法用于设置自定义视图。

```java

// 设置简单文本内容

builder.setMessage("这是一个简单的文本内容");

// 设置列表项

List items = new ArrayList<>();

items.add("选项1");

items.add("选项2");

builder.setItems(items, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 处理点击事件

}

});

```

4. 设置多个按钮

如果需要在对话框中添加多个按钮,我们可以使用setPositiveButton、setNegativeButton和setNeutralButton方法分别设置“确定”、“取消”和“中立”按钮。这些方法接受一个CharSequence参数作为按钮的文本,并接受一个OnClickListener回调接口以处理按钮点击事件。

```java

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 处理确定按钮点击事件

}

});

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 处理取消按钮点击事件

}

});

builder.setNeutralButton("中立", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 处理中立按钮点击事件

}

});

```

5. 创建AlertDialog对象并显示对话框

最后,我们需要调用Builder对象的create()方法创建AlertDialog对象,然后调用show()方法将对话框显示出来。

创建构建器:

```java

AlertDialog.Builder builder = new AlertDialog.Builder(this);

// 设置参数

builder.setTitle("请做出选择");

builder.setIcon(R.drawable.ic_launcher);

builder.setMessage("我美不美");

// 设置积极按钮

builder.setPositiveButton("美", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "恭喜你答对了", Toast.LENGTH_SHORT).show();

}

});

// 设置消极按钮

builder.setNegativeButton("不美", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "一点也不老实", Toast.LENGTH_SHORT).show();

}

});

// 设置中间级按钮

builder.setNeutralButton("不知道", new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, "快睁开眼瞅瞅", Toast.LENGTH_SHORT).show();

}

});

```

最后,通过调用`builder.create().show()`来显示对话框。

二、setItem:设置文本框内容为简单列表项

```java

// 创建数据

final String[] items = new String[] { "北京", "上海", "广州", "深圳" };

// 创建对话框构建器

AlertDialog.Builder builder = new AlertDialog.Builder(this);

// 设置参数

builder.setIcon(R.drawable.ic_launcher).setTitle("提示")

.setItems(items, new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();

}

});

builder.create().show();

```

运行截图:

!运行截图

首先,我们需要将代码重构为一个方法,该方法接收一个字符串数组和一个新的OnMultiChoiceClickListener作为参数。然后,我们将使用AlertDialog.Builder创建一个新的对话框,并设置其图标、标题和选项。最后,我们将点击监听器设置为OnMultiChoiceClickListener,并在用户选择某个选项时显示Toast。

解析后的代码如下:

```java

// 创建数据

final String[] items = new String[]{"北京", "上海", "广州", "深圳"};

// 创建多选项列表对话框构建器

private void showMultiChoiceDialog(String[] items) {

// 创建对话框构建器

AlertDialog.Builder builder = new AlertDialog.Builder(this);

// 设置参数

builder.setIcon(R.drawable.ic_launcher).setTitle("提示").setMultiChoiceItems(items, null, new OnMultiChoiceClickListener() {

@Override

public void onClick(DialogInterface dialog, int which, boolean isChecked) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();

}

});

// 显示对话框

builder.create().show();

}

```

现在,你可以通过调用`showMultiChoiceDialog()`方法并传入相应的字符串数组来显示带有多选项列表的对话框。

```java

// 创建数据

final String[] items = new String[]{"北京", "上海", "广州", "深圳"};

// 创建对话框构建器

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setIcon(R.drawable.ic_launcher)

.setTitle("提示")

.setMultiChoiceItems(items,

new boolean[]{true, true, false, false, false},

new DialogInterface.OnMultiChoiceClickListener() {

@Override

public void onClick(DialogInterface dialog, int which, boolean isChecked) {

// TODO Auto-generated method stub

if (isChecked) {

Toast.makeText(MainActivity.this, items[which], 0).show();

}

}

});

builder.create().show();

```

五、设置自定义列表项为对话框内容:

```java

// 创建数据

final String[] items = new String[]{"北京", "上海", "广州", "深圳"};

// 创建对话框构建器

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("提示")

.setIcon(R.drawable.ic_launcher)

.setAdapter(

new ArrayAdapter(MainActivity.this,

R.layout.item, R.id.tv, items),

new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this, items[which], 0).show();

}

});

builder.create().show();

```

setView()方法是Android开发中Dialog类的一个方法,用于设置对话框的自定义视图。可以通过调用 setView() 方法来实现。以下是设置自定义View的示例代码:

```java

val inflater = LayoutInflater.from(this)

val view = inflater.inflate(R.layout.custom_dialog, null)

builder.setView(view)

```

在上述代码中,我们首先使用LayoutInflater来加载自定义布局文件 R.layout.custom_dialog,然后将其设置为对话框的视图。

首先,创建一个AlertDialogBuilder对象,用于构建对话框。接着,通过View.inflate方法将登录界面的布局文件加载到一个视图中。然后,从这个视图中获取输入用户名和密码的EditText控件以及登录按钮。接下来,设置对话框的标题、图标和视图。最后,创建一个AlertDialog对象,并为登录按钮设置点击事件监听器。

以下是重构后的代码:

```java

// 创建对话框构建器

AlertDialog.Builder builder = new AlertDialog.Builder(this);

// 获取布局

View view2 = View.inflate(MainActivity.this, R.layout.login, null);

// 获取布局中的控件

final EditText username = (EditText) view2.findViewById(R.id.username);

final EditText password = (EditText) view2.findViewById(R.id.password);

final Button button = (Button) view2.findViewById(R.id.btn_login);

// 设置参数

builder.setTitle("Login")

.setIcon(R.drawable.ic_launcher)

.setView(view2);

// 创建对话框

final AlertDialog alertDialog = builder.create();

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

String uname = username.getText().toString().trim();

String psd = password.getText().toString().trim();

if (uname.equals("shenhua") && psd.equals("123456")) {

Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show();

}

alertDialog.dismiss(); // 对话框消失

}

});

alertDialog.show();

```

您可能感兴趣的文章:

运行截图:

在本文中,我们将探讨如何在计算机上安装和配置Java Development Kit(JDK)。以下是详细的步骤指南,帮助您完成安装过程。

1. 首先,下载并安装JDK。您可以从Oracle官方网站下载适用于您的操作系统的JDK版本。下载完成后,双击安装文件并按照提示进行操作。

2. 在安装过程中,您需要选择安装路径和配置选项。通常情况下,建议使用默认设置即可。如果您希望更改安装位置或添加其他组件,请按照提示进行操作。

3. 完成安装后,打开命令提示符或终端窗口,并输入以下命令以验证JDK是否已成功安装:

java -version

如果显示出JDK的版本信息,则表示安装成功。否则,请检查您的安装步骤是否正确。

接下来是一些有关Java编程的基本概念和资源,供您进一步学习和了解:

* Java编程入门教程:这是一个适合初学者的简单教程,介绍了Java编程的基本知识和概念。

* Oracle官方文档:Oracle官方提供了全面的Java开发文档和教程,包括API参考、教程和示例代码等。这些资源对于深入学习和理解Java编程非常有帮助。

* Java开发者社区:这是一个在线社区,聚集了大量的Java开发者和爱好者。在这里,您可以分享经验、提问问题、获取技术支持等。

* Java编程书籍推荐:如果您喜欢阅读书籍学习编程知识,以下几本经典的Java编程书籍值得一读:《Thinking in Java》、《Effective Java》和《Java核心技术》。