gpt4 book ai didi

带有一个、两个和三个按钮的 Android 警报对话框

转载 作者:IT王子 更新时间:2023-10-28 23:26:59 24 4
gpt4 key购买 nike

我不经常发出警报,但每次我都会花一些时间阅读 documentation并弄清楚如何去做。由于我现在不得不这样做几次,我将在下面写一个答案,我可以在未来回来。具体我想比较一下

的基本代码
  • 一键(确定)
  • 两个按钮(确定和取消)
  • 三个按钮(正、负、其他)

最好将这三种常见警报类型的基本代码放在一个位置,以便将来引用和修改。 This question询问如何做到一键。

最佳答案

一个按钮

enter image description here

import android.support.v7.app.AlertDialog;

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("My title");
builder.setMessage("This is my message.");

// add a button
builder.setPositiveButton("OK", null);

// create and show the alert dialog
AlertDialog dialog = builder.create();
dialog.show();
}
}

两个按钮

enter image description here

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("AlertDialog");
builder.setMessage("Would you like to continue learning how to use Android alerts?");

// add the buttons
builder.setPositiveButton("Continue", null);
builder.setNegativeButton("Cancel", null);

// create and show the alert dialog
AlertDialog dialog = builder.create();
dialog.show();
}
}

三个按钮

enter image description here

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Notice");
builder.setMessage("Launching this missile will destroy the entire universe. Is this what you intended to do?");

// add the buttons
builder.setPositiveButton("Launch missile", null);
builder.setNeutralButton("Remind me later", null);
builder.setNegativeButton("Cancel", null);

// create and show the alert dialog
AlertDialog dialog = builder.create();
dialog.show();
}
}

如果按钮文本太长而无法水平放置,那么它将自动排列在三个按钮的垂直列中。

enter image description here

处理按钮点击

在上述示例中,OnClickListenernull。您可以将 null 替换为监听器,以便在用户点击按钮时执行某些操作。例如:

builder.setPositiveButton("Launch missile", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {

// do something like...
launchMissile();
}
});

继续

您可以制作更多种类的对话框。见 documentation寻求帮助。

由于 AlertDialog 中仅支持三个按钮,因此这里是一个带有列表的对话框示例。

enter image description here

public class MainActivity extends AppCompatActivity {

public void showAlertDialogButtonClicked(View view) {

// setup the alert builder
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Choose an animal");

// add a list
String[] animals = {"horse", "cow", "camel", "sheep", "goat"};
builder.setItems(animals, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0: // horse
case 1: // cow
case 2: // camel
case 3: // sheep
case 4: // goat
}
}
});

// create and show the alert dialog
AlertDialog dialog = builder.create();
dialog.show();
}
}

this answer有关单选按钮列表和复选框列表的类似示例。

注意事项

  • 使用字符串资源而不是硬编码字符串。
  • 您可以将所有内容包装在扩展 DialogFragment 的类中,以便轻松重用对话框。 (请参阅 this 以获得帮助。)
  • 这些示例使用支持库来支持 API 11 之前的版本。所以导入应该是

    import android.support.v7.app.AlertDialog;
  • 为简洁起见,我在上面的示例中省略了 onCreate 方法。那里没有什么特别的。

另见

关于带有一个、两个和三个按钮的 Android 警报对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43513919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com