У меня есть следующая функция в Java, и мне нужно преобразовать ее в Kotlin.
@Override
public void afterTextChanged(Editable s) {
if (s != null && !"".equals(s.toString())) {
int position = (Integer) mHolder.numEdit.getTag();
// Saved to the data variable when the data changes
mData.get(position).put("list_item_inputvalue",
s.toString());
}
}
Это эквивалентный код Kotlin, который я создал:
override fun afterTextChanged(s: Editable?) {
if (s != null && "" != s.toString()) {
val position = mHolder.numEdit!!.tag as Int
// Saved to the data variable when the data changes
mData?.get(position).put("list_item_inputvalue", s.toString())
}
}
Компилятору не нравится вызов .put()
. Переменная mData в Java:
private List<Map<String, String>> mData;
и Котлин:
var mData: List<Map<String, String>>? = null
Почему компилятору не нравится преобразование put
в Kotlin?
UPDATE:
println(mData) = [{list_item_inputvalue=0}, {list_item_inputvalue=1},...]
println(mData?.get(position)) = {list_item_inputvalue=8}
Код на Java