Kotlin如何完成+ =?

时间:2018-07-12 21:23:03

标签: android kotlin

应该很简单,但是我无法正常工作。

counter += 1不起作用。 counter.inc()不会增加counter,它保持不变。 .plusAssign无法识别。 .plus()不起作用,counter不增加。我想念什么吗?

更新 问题可能出在其他地方,因为普通的+=确实可以在干净的项目中工作。我在这样的滑动功能中使用了计数器:

override fun onSwipingLeft(event: MotionEvent?) {
            Log.d("TAG", "LEFT")

            counter!! += 1

            Log.d("TAG", "LEFT" + counterV)

            Picasso.with(context).load(recipeArray!![counterV].recipeImage).into(recipe_image_container_id)

        }

通过counter给出错误,指出无论该变量是什么意思,该变量都是预期的。

3 个答案:

答案 0 :(得分:4)

  

如何用Kotlin完成+ =?

使用+=

var foo = 1

foo += 5

println(foo)

输出为6

Kotlin REPL Output

您可以try running it yourself

答案 1 :(得分:0)

您要重新分配变量吗?

counter = counter.inc() 

答案 2 :(得分:0)

您可能正在使用val修饰符,因此counterfinal,并且其值在初始分配后无法修改。尝试改为将其更改为var counter