Элемент, ожидаемый после создания фрагмента - PullRequest
0 голосов
/ 07 декабря 2018

Я заметил, что после создания фрагмента ожидается элемент.В Java все, что было нужно, было getActivity(), но в Котлине это кажется более сложным.< и > в mTwoPane = <FragmentActivity>(activity).findViewById(R.id.master_container) != null становятся подчеркнутыми красным и возвращают эту ошибку:

Ожидается элемент

class MyFragment() : Fragment() {

    private var mAdapter: MyListAdapter? = null

    internal lateinit var mRecyclerView: RecyclerView

    var mTwoPane: Boolean = false

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setHasOptionsMenu(true)
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        val view = inflater.inflate(R.layout.md, container, false)
        mTwoPane = <FragmentActivity>(activity).findViewById(R.id.master_container) != null

        mRecyclerView = view.findViewById(R.id.recyclerView_list)
        mRecyclerView.setHasFixedSize(true)
        mRecyclerView.layoutManager = LinearLayoutManager(this.activity)        
        mRecyclerView.addItemDecoration(DividerItemDecoration(Objects.requireNonNull<Context>(context), LinearLayout.VERTICAL))

        val myList = ArrayList<Product>()
        val items = resources.getStringArray(R.array.product_names)
        val itemDescriptions = resources.getStringArray(R.array.product_descriptions)
        for (n in items.indices) {
            val product = Product(items[n], itemDescriptions[n])
            myList.add(product)
        }

        mAdapter = MyListAdapter(activity, myList, mTwoPane)
        mRecyclerView.adapter = mAdapter

        return view
    }
}

1 Ответ

0 голосов
/ 07 декабря 2018

попробуйте

mTwoPane = (activity as FragmentActivity).findViewById<View>(R.id.master_container) != null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...