我怎么能说最后一条记录我想附加一个“。”而不是一个逗号?

时间:2011-12-14 18:18:12

标签: android cursor

这是我的代码,我在这里看到我在每行之间附加一个逗号。对于最后一行,我想添加句号而不是逗号,任何关于我如何做到这一点的想法?

while(!cursor2.isAfterLast()) {
String mIngredientName = cursor2.getString(1) + ", " ;
                al.add(mIngredientName);
                cursor2.moveToNext();
            }

我有一个想法,它涉及if语句,但我不确定任何指导?

4 个答案:

答案 0 :(得分:1)

您现在正在测试“if isAfterLast()”。相反(或另外 - 您的选择)测试“if isLast()”。 “isLast()”之前的所有内容都会得到一个逗号,“isLast()”会获得一个句点...然后关闭光标。

实施例

while(!cursor2.isLast()) {
  String mIngredientName = cursor2.getString(1) + ", " ;
  al.add(mIngredientName);
  cursor2.moveToNext();
}
String mIngredientName = cursor2.getString(1) + "." ;
al.add(mIngredientName);

答案 1 :(得分:1)

while(!cursor2.isLast()) {
String mIngredientName = cursor2.getString(1) + ", " ;
                al.add(mIngredientName);
                cursor2.moveToNext();
            }
String mIngredientName = cursor2.getString(1) + ". " ;
                al.add(mIngredientName);

答案 2 :(得分:0)

while(!cursor2.isAfterLast()) {
  char delimitor = (if !cursor2.isLast())? "," : ".";
  String mIngredientName+= cursor2.getString(1) + delimitor ;
  al.add(mIngredientName);
  cursor2.moveToNext();
        }

答案 3 :(得分:0)

对于仅含有一种成分(!)的“食谱”,以下情况也可以正常使用:

cursor2.moveToFirst();
StringBuilder strBuilder = new StringBuilder(cursor2.getString(1)); 
while(!cursor2.isLast()){
    cursor2.moveToNext();
    strBuilder.append(", ").append(cursor2.getString(1));
}
strBuilder.append('.');

String allIngredients = strBuilder.toString();

请注意,使用StringBuilder对字符串连接更有效。