我不经常发出警报,但每次发出警报时,我都要花一段时间阅读文档并找出如何发出警报。既然我已经做了几次了,我将在下面写一个答案,我可以在将来再回来。具体来说,我想比较
如果能将这三种常见警报类型的基本代码放在一个位置,以便于将来参考和修改,那就太好了。这个问题是问一个按钮怎么做。
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();
}
}
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();
}
}
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();
}
}
如果按钮文本太长,无法水平排列,那么它将自动排列在三个按钮的垂直列中。
在上述示例中,OnClickListener
为null
。当用户点击一个按钮时,你可以用一个监听器代替null
。例如:
builder.setPositiveButton("Launch missile", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// do something like...
launchMissile();
}
});
你可以制作更多种类的对话。有关这方面的帮助,请参阅文档。
由于警报对话框
只支持三个按钮,因此下面是一个带有列表的对话框示例。
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();
}
}
有关单选按钮列表和复选框列表的类似示例,请参见此答案。
>
DialogFragment
的类中,以便于重用对话框。(请参见此以获取帮助。)
这些示例使用支持库来支持API 11之前的版本。所以进口应该是
import android.support.v7.app.AlertDialog;
为了简洁起见,我省略了上面示例中的onCreate
方法。那里没有什么特别的。
我正在使用iSpeech的API用于TTS,在他们的示例android项目中,他们有两个带有两个OnClickListener的按钮,一个用于开始演讲,一个用于停止演讲。我想把它保持在一个按钮上,以便在android屏幕上有更多的空间,这样,如果语音停止,按下按钮就会开始,如果语音开始,按下按钮就会停止。 有很多类似的问题,答案表明最好保持一个监听器一个按钮,但我不太满意,因为这个问题是在多个监听
我是Android新手,我在我的项目中创建了一个基本的警报对话框,它只有[一条消息和一个积极按钮和一个消极按钮],消息是一个问题,询问[你想从账户中退出吗?],按下消极按钮关闭警报对话框,按下积极按钮也会关闭警报对话框,什么也不做。我想消极按钮只是关闭警报对话框,就像它一样,但是当我按下积极按钮时,它会为我做两件事[1-从应用程序中退出,2-开始我的活动,称为LoginActivity.kt] 注
我现在一筹莫展。 请求代码收集在一个ArrayList中,这样当程序退出时,另一个函数可以清除所有警报。 现在的问题是:我的警报器打不响。我能够找到这个函数的错误。AlarmManager实例很好。我在底部设置了一个测试警报(在带有星号的行之后)。着火了。为什么???
问题内容: 我需要一个假定具有两个功能的按钮。 如果我点击一次,它将转到下一页。如果我按住按钮,它将允许我编辑按钮上的文本。 单击该按钮可以转到下一页,但是如果我按住该按钮,该如何实现允许我更改文本的第二个功能? 有人知道吗 Java代码 xml代码 问题答案: 您可以将第二个函数设置为setOnLongClickListener: 第一个函数是与setOnclickListener相同的: 检查
问题内容: 我需要一个假定具有两个功能的按钮。 如果我点击一次,它将转到下一页。如果我按住按钮,它将允许我编辑按钮上的文本。 单击该按钮可以转到下一页,但是如果我按住该按钮,该如何实现允许我更改文本的第二个功能? 有人知道吗 Java代码 xml代码 问题答案: 您可以将第二个函数设置为setOnLongClickListener: 第一个函数是与setOnclickListener相同的: 检查
问题内容: 这是一个滑块难题。拼图完成后,我想显示一个带有“确定”按钮的对话框。当按下“确定”按钮时,我使用来通过Android浏览器加载网站。唯一的问题是,使用当前代码,当拼图完成后,它不会加载一个框(当我使用时会加载)。它什么也没做。有任何想法吗? 问题答案: 试试这个