java - 从对话框中选择项目后如何告诉应用程序做什么?

标签 java android eclipse

在我的应用程序中,有一个对话框可让用户选择一个项目。按下“确定”按钮后,应用程序应调用与该项目关联的号码。我能够让项目显示在对话框中,并且应用程序知道它们是选项,但我无法弄清楚如何使所选的应用程序进行处理,然后调用号码。 这是我到目前为止所得到的

 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/

相关文章:

java - 正则表达式忽略字符串的一部分 - Java

android - 意向额外字段未更新

android - 进度下载对话框

javac1.8 类未找到

java - 如何在 ADT 中开始创建新应用程序时删除 fragment 布局?

java - 带有 AcceptHeaderLocaleResolver 和 i18n 的 Spring Security

java - 我如何获取通用参数的类

java - Jsoup - Jsoup 类型的 connect(String) 方法未定义

java - 如何更新数据库,同时在我们的服务器端进行更改

android - 执行 Espresso 测试时更改语言环境