在我的应用程序中,有一个对话框可让用户选择一个项目。按下“确定”按钮后,应用程序应调用与该项目关联的号码。我能够让项目显示在对话框中,并且应用程序知道它们是选项,但我无法弄清楚如何使所选的应用程序进行处理,然后调用号码。 这是我到目前为止所得到的
final CharSequence[] item = {"item1", "item2", "item3", "item4"};
AlertDialog.Builder ab=new AlertDialog.Builder(crossingActivity.this);
ab.setTitle("Which item?");
ab.setSingleChoiceItems(item, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
})
.setPositiveButton("Call", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
if item = "item1"? android.intent.action.DIALtel:"number1";
if item = "item2"? android.intent.action.DIALtel:"number2";
if item = "item3"? android.intent.action.DIALtel:"number3";
if item = "item4"? android.intent.action.DIALtel:"number4";
对话框打开并允许您选择一个项目,这就是我陷入困境的地方。 Eclipse 在所有“if”上给我一个错误,表示“ token “if”上的语法错误,无效类型”。我想我只是开始错误,我只是不知道如何正确开始。
最佳答案
你的 if 语句没有任何意义。在尝试此类操作之前,您可能需要先阅读基础 Java 知识。您可以从 if statements 开始.
多个问题:我认为您正在尝试使用 = 将项目与字符串值进行比较。 = 是赋值运算符,== 用于基元比较。使用= 是一个语法错误。
但是,由于您正在比较字符串,因此您希望使用 .equals。
如果废话? thing1 : thing2
是一个三元运算符,我认为这不是你想要的。您只想根据项目选择做一些事情。
if (item.equals("item1")) {
dialNumber("number1");
} else if (item.equals("item2") {
dialNumber("number2");
}
但正如我所说,请先阅读一些基本的 Java 教程,然后再尝试进一步了解。
关于java - 从对话框中选择项目后如何告诉应用程序做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4599675/