【问题标题】:Subtracting a number from an integer in android not working从android中的整数中减去一个数字不起作用
【发布时间】:2011-09-19 12:22:07
【问题描述】:

一定很简单……

void CheckQty(long rowId, String manufacturer, String expires, String value, String category, String image, String valueother, Integer qty) {
    // TODO Auto-generated method stub
    if(qty<=1){
            deleteNote(rowId);
    }else{
        qty = Math.abs(qty)-1;
        updateNote(rowId, manufacturer, expires, value, category, image, valueother, qty);
    }
}

更新说明:

 public boolean updateNote(long rowId, String manufacturer, String expires, String value, String category, String image, String valueother, Integer qty) {

    ContentValues args = new ContentValues();
    args.put(KEY_MANUFACTURER, manufacturer);
    args.put(KEY_EXPIRES, expires);
    args.put(KEY_VALUE, value);
    args.put(KEY_VALUE_OTHER, valueother);
    args.put(KEY_CATEGORY, category);
    args.put(KEY_QTY, qty);
    args.put(KEY_IMAGE, image);
    //args.put(KEY_BODY, body);

    return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;
}

从数据库中取出初始值并传递给这个函数,它可以是用户输入的任何数字,但数字是多少似乎无关紧要,结果总是6

这只会将“数量”更改为 6

有什么帮助吗?

【问题讨论】:

  • 初始值是多少?另外,你的 updateNote(...) 函数里有什么?
  • 是的,执行qty = Math.abs(qty)-1;前后的qty的值是多少代码行?
  • 这不是一个非常普遍的问题。尝试花一些时间进行调试,而不是询问每一个出错的地方来为你解决 - 你会通过这种方式学到更多的东西;)

标签: android math integer


【解决方案1】:

我还会删除 Math.abs 调用,因为如果 qty

【讨论】:

  • 原来我需要改变获取“数量”的方式:Integer qty = note.getColumnIndexOrThrow(NotesDbAdapter.KEY_QTY);至:整数数量 = Integer.parseInt(mQtyText.getText().toString());
  • 感谢大家的帮助/共鸣
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多