将字符串发送到吐司

时间:2012-08-26 19:00:48

标签: android toast

我正在尝试阅读CSV文件,并将其显示为Android应用的基本列表。我使用的是Kopfgeldjaeger in this thread给出的方法。

如果代码管理(或未管理)以正确加载CSV文件,我添加了一些“toast”,它们在Android屏幕的底部显示“成功”或“失败”。见下文:

  try {
      CSVReader reader = new CSVReader(new InputStreamReader(getAssets().open("file.csv")));
      for(;;) {
          next = reader.readNext();
          if(next != null) {
              list.add(next);
          } else {
              break;
          }
      }
      Toast.makeText(getApplicationContext(), "SUCCESS",
              Toast.LENGTH_SHORT).show();
  } catch (IOException e) {
      e.printStackTrace();
      Toast.makeText(getApplicationContext(), "FAIL",
              Toast.LENGTH_SHORT).show();
  }

当我加载应用程序时,我收到了“SUCCESS”消息,所以到目前为止一切都很顺利。现在,我想看看我是否可以加载任何数据。在Kopfgeldjaeger的回答中,建议我可以使用以下代码访问字符串:

list.get(1)[1]

所以,为了检查它是否有效,我尝试生成另一个吐司,如下所示:

      Toast.makeText(getApplicationContext(), list.get(1)[1],
              Toast.LENGTH_SHORT).show();

此添加的toast导致程序无法正确加载。问题是,我的Toast语法错误了,还是我的CSV文件加载不正确?

1 个答案:

答案 0 :(得分:0)

有几件事需要检查:

  1. 确保您的csv文件的大小至少为2 x 2个条目,否则从行索引1和列索引1中检索数据将不起作用。例如,打印或调试list.size()list.get(0).length,看看它们是否至少都是2。
  2. 确认您的csv文件实际上是逗号分开,而不是例如分号分隔。我见过某些软件似乎选择了自己的分隔符。
  3. 作为建议:引用的csv阅读器是ByteCode's OpenCSV的一部分。您可能希望包含该项目的最新源代码或jar。它支持自定义分隔符,还提供了将所有csv数据解析为字符串数组列表的简写:

    CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
    List myEntries = reader.readAll();