Android:如何将arrayadapter.getitemi添加到ArrayList <*>?在科特林

问题描述

Android Studio将Java代码转换为kotlin时遇到了在kotlin中添加对象列表时遇到的问题

javacode

  private List _items = new Arraylist();// for understanding
  private ArrayAdaper _arrayAdapter= (ArrayAdaper)getAdapter; // for understanding

  @Override
public boolean onTouch(View v,MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_UP) {

        if (null != _arrayAdapter) {

            // Refresh content #6
            // Change Start
            // Description: The items were only set initially,not reloading the data in the
            // spinner every time it is loaded with items in the adapter.
            _items.clear();
            for (int i = 0; i < _arrayAdapter.getCount(); i++) {
                _items.add(_arrayAdapter.getItem(i));
            }
            // Change end.

            _searchableListDialog.show(scanForActivity(_context).getFragmentManager(),"TAG");
        }
    }
    return true;
}

科特琳码

  private var _items:MutableList<*>?=null //for understanding
  private var _arrayAdapter:ArrayAdapter<*>?=null  //for understanding

  override fun onTouch(v: View,event: MotionEvent): Boolean {
    if (event.action == MotionEvent.ACTION_UP) {
        if (null != _arrayAdapter) {

            // Refresh content #6
            // Change Start
            // Description: The items were only set initially,not reloading the data in the
            // spinner every time it is loaded with items in the adapter.
            _items!!.clear()
            for (i in 0 until _arrayAdapter!!.count) {
                _items!!.add(_arrayAdapter!!.getItem(i))//Type mismatch required nothing Found Any?
            }
            // Change end.
            _searchableListDialog!!.show(scanForActivity(_context)!!.fragmentManager,"TAG")
        }
    }
    return true
}

我在kotlin的 _items !!。add(_arrayAdapter !!。getItem(i))中遇到问题。它在Java中工作正常,但在kotlin Type mismatch required nothing Found Any?中给出了错误强制转换为无错误,但是在运行时单击微调框时出现错误string cannot cast to void

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)