1. 程式人生 > >Android kotlin 之 Fragment怎樣直接獲取控制元件

Android kotlin 之 Fragment怎樣直接獲取控制元件

  • 在onCreateView方法中你可以直接使用當前佈局返回的view.id來使用控制元件。
  override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {
        val view = inflater!!.inflate(R.layout.fragment_item_list, container, false)
        adapter = ArrayAdapter(context, android.R
.layout.simple_list_item_1, dataList) view.listView.adapter = adapter return view }

即: view.listView.adapter = adapter

  • 在其他的地方你就可以直接使用getView().id來使用控制元件,但是在kotlin語言中,將getView()轉換為了view,所有也可以直接使用view.id,
    但是記得要匯入包
 import kotlinx.android.synthetic.main.*xml佈局名稱*.view.*

我這裡為:
import kotlinx.android
.synthetic.main.fragment_item_list.view.*

綜上,在Activity中可以直接使用佈局id,在Fragment中需要使用view.id。

注意view可能為空,需要加上判斷即:view!!.id

例如:

 view!!.titleText.text = selectedCity!!.cityName
 view!!.backButton.visibility = View.VISIBLE