亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 5分18秒,添加的fragment的id一定要和bottom_nav_manu表單中新添加的那個item的id一樣啊!否則就無法跳轉!(其實老師后面也強調了)


    另外,如果運行時發現界面頭上有個白色的留白,可以查看activity_main表單文件,把開頭幾行中的“android:paddingTop="?attr/actionBarSize"”刪掉,這是模板自帶的一個留白配置,刪掉后就不會有那塊白色了。


    感謝DeepSeek幫忙排查問題,它是人類的好朋友~(? _ ?)

    查看全部
  • 同上節課一樣,由于kotlin-android-extensions?插件廢棄,導致holder.itemView.item_image以及holder.itemView.item_title相關的代碼全都失效,DeepSeek解釋說:“holder.itemView.itemImage?是?kotlin-android-extensions?的語法糖,它本質上等價于?holder.itemView.findViewById<ImageView>(R.id.itemImage),但廢棄插件后此功能已失效。直接通過 ID 訪問視圖的方式已被完全移除,必須顯式綁定”。下面是它給出的代碼。好耶!我好像明白view binding是怎么回事了!我可以舉一反三啦!


    inner class MyAdapter : RecyclerView.Adapter<MyAdapter.MyViewHolder>() {

    ? ? // 使用 View Binding 的 ViewHolder

    ? ? inner class MyViewHolder(private val binding: ItemViewLinearVerticalBinding) :?

    ? ? ? ? RecyclerView.ViewHolder(binding.root) {

    ? ? ? ? // 直接通過 binding 訪問視圖

    ? ? ? ? fun bind() {

    ? ? ? ? ? ? binding.itemImage.setImageResource(R.drawable.icon_jetpack)

    ? ? ? ? ? ? ?// 可以在這里添加語句,綁定其他控件

    ? ? ? ? }

    ? ? }


    ? ? override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {

    ? ? ? ? // 通過 Binding 類加載布局

    ? ? ? ? val binding = ItemViewLinearVerticalBinding.inflate(

    ? ? ? ? ? ? LayoutInflater.from(parent.context),

    ? ? ? ? ? ? parent,

    ? ? ? ? ? ? false

    ? ? ? ? )

    ? ? ? ? return MyViewHolder(binding)

    ? ? }


    ? ? override fun onBindViewHolder(holder: MyViewHolder, position: Int) {

    ? ? ? ? holder.bind() // 調用 ViewHolder 的綁定方法

    ? ? }


    ? ? override fun getItemCount() = 20

    }

    查看全部
  • ? ? Kotlin1.4之后沒有kotlin-android-extension插件了……官方建議使用View Binding。

    ? ? 直接寫recycler_view.layoutManager又會報錯,無奈問了DeepSeek,它給出了解決方案,編輯器確實沒有報錯了,但是代碼同老師的差別就太大了。我暫時沒有能力驗證這種方案是否可以同接下來的課程內容兼容,先貼在這里:


    class HomeFragment : Fragment(R.layout.fragment_home) {
    ? ?// 定義 Binding 對象(根據布局文件名稱自動生成)
    ? ?private var _binding: FragmentHomeBinding? = null
    ? ?private val binding get() = _binding!! // 非空斷言僅在 _binding 非空時使用

    ? ?override fun onCreateView(
    ? ? ? ?inflater: LayoutInflater,
    ? ? ? ?container: ViewGroup?,
    ? ? ? ?savedInstanceState: Bundle?
    ? ?): View {
    ? ? ? ?// 初始化 Binding
    ? ? ? ?_binding = FragmentHomeBinding.inflate(inflater, container, false)
    ? ? ? ?return binding.root
    ? ?}

    ? ?override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    ? ? ? ?super.onViewCreated(view, savedInstanceState)
    ? ? ? ?// 通過 binding 訪問視圖
    ? ? ? ?binding.recyclerView.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
    ? ? ? ?// 其他代碼(例如設置 Adapter)
    ? ?}

    ? ?override fun onDestroyView() {
    ? ? ? ?super.onDestroyView()
    ? ? ? ?// 清理 Binding 避免內存泄漏
    ? ? ? ?_binding = null
    ? ?}
    }

    查看全部
  • https://img1.sycdn.imooc.com/5951da68090dff9a17310785.jpg

    index 不能超過集合size的大小 這個在java中一樣的

    查看全部
  • 新版已帶 material,無需再增加依賴

    查看全部
  • 課程源碼

    https://github.com/ThirdPrince/android2021

    Kotlin擴展函數與實現機制探索

    https://cloud.tencent.com/developer/article/1146533

    查看全部
  • 這個lambda隱形參數,怎么出現的?需要安裝什么插件嗎?

    查看全部
  • 老師 筆記麻煩分享下
    查看全部
  • 有用

    查看全部
  • JsonToKotlinClass 插件

    查看全部
    0 采集 收起 來源:Gson數據解析

    2024-02-20

  • (一)具名參數

    (有默認值的參數,不傳的情況下,別的參數需要寫清楚參數名=值)

    read(1,2)

    read(start = 2)

    https://img1.sycdn.imooc.com/659953b1000196b509200502.jpg

    (二)重點:方法傳參中傳遞方法

    下圖,read2方法中的第三個參數為一個方法 ?action:()->String

    【這個參數名為action,action參數名后加了(),代表這個參數是一個方法】

    【action后邊的()里是這個方法的參數,String是這個方法的返回值】

    【如果該方法沒有返回值,則為Unit,寫法action:()->Unit,代表無參無返回值】


    https://img1.sycdn.imooc.com/6599557f0001d37b09600211.jpg


    (1)括號內傳遞action方法參數

    在調用read2方法時,參數action,寫法參數名 = {方法體}

    read2(1,2,action = {

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 這個里邊是action的方法體

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 最后一行代表這個方法的返回值

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "read" //代表這個方法的返回值為read

    ? ? ? ? ? ? ? ? ? ? ? ?}

    ? ? ? ? ? ? )

    https://img1.sycdn.imooc.com/659958030001218b05180181.jpg


    (2)括號外傳遞方法參數(方法參數是參數的最后一個時才可這么寫)

    不需要寫明action={},可以省略action=,直接在小括號的外邊寫{},{}里邊代表這個action方法參數的方法體

    https://img1.sycdn.imooc.com/659957e50001248403700132.jpg

    (三)可變數量的參數 (vararg修飾的參數)傳幾個都行

    ? ? 只有一個參數可以被標記為vararg,當vararg不是最后一個參數時,別的參數傳遞時需要參數名=“”這樣傳遞,用具名參數這樣子傳遞,編輯器才能區分開

    https://img1.sycdn.imooc.com/65995abc00015ccb09550466.jpg

    https://img1.sycdn.imooc.com/65995b3600018c3908950302.jpg

    https://img1.sycdn.imooc.com/65995c380001d03308230143.jpg

    如下,world數組前加一個*星號鍵,就可以把world里的所有元素當做參數傳遞給append2

    https://img1.sycdn.imooc.com/65995c28000114be07850147.jpg

    查看全部
  • (一)方法的定義:

    fun?方法名 (參數列表):返回值{方法體}

    參數列表:參數名?冒號?參數類型(多個參數用逗號隔開)

    示例:fun?getSize (num:Int ,?num2:Int):Int{}


    (二)類的分類

    普通類:用class聲明

    ? ? ? ? ? ? ? 方法調用時,直接類名().方法名(不需要和java一樣,不用new)

    靜態類:用object聲明(工具類都用object聲明)

    ? ? ? ? ? ? ? 方法調用時,直接類名.方法(靜態類里都是靜態方法,不需要構建實例對象)

    伴生類:用處:當想要在普通類class聲明的類里,定義靜態方法的話,寫在companion?里

    ? ? ? ? ? ? ? 使用:聲明在普通類里邊,

    ? ? ? ? ? ? ? ? ? ? ? ? ?因為本來想要調用普通類里的方法時,必須類名().方法名

    ? ? ? ? ? ? ? ? ? ? ? ? ?但是如果此方法在伴生類里,則可以直接類名.方法名(省去了構建實例對象)

    ? ? ? ? ? ? ? ? ? ? ? ? ?如下,可直接Person.test()? ?, 原本Person().test

    ? ? ? ? ? ? ? ????????????class Person{

    ? ? ? ? ? ? ? ? ? ? ?????????????companion?object{

    ????????? ? ? ? ? ? ? ? ? ? ????????????fun?test(){ }

    ? ? ? ? ? ? ? ? ? ? ?????????????}

    ? ? ? ? ? ? ? ????????????? }

    (三)方法的參數解釋

    ? ? ? ? ? ?https://img1.sycdn.imooc.com/659952920001e33802120184.jpg

    (1)默認參數:參數可設置默認值,可以減少方法重載的數量

    ? ? ? ? ? ? ? ? ? ? ? ? ? ?(寫默認值的參數可不傳)

    https://img1.sycdn.imooc.com/659952a4000102ab09060231.jpg

    (2)具名參數

    (3)可變數量的參數

    查看全部
  • (一)kotlin中的集合分類

    https://img1.sycdn.imooc.com/6599491300014c8b08900278.jpg

    (1)list(有序且長度可變的列表(因可add,remove),通過get(index)獲取某個下標的元素)

    (2)set(無序,集合里元素唯一,不會有重復元素)

    (3)map(鍵值對,鍵唯一,值可重復)


    (二)集合的創建方式

    (list,map,set分別的創建方式)

    https://img1.sycdn.imooc.com/659949a900012f3608640644.jpg


    (三)集合的一些基本操作,常用的方法

    https://img1.sycdn.imooc.com/659949e500013fd007470543.jpg

    (四)集合的一些變換操作

    https://img1.sycdn.imooc.com/65994a21000171ef06320631.jpg

    查看全部
  • 數組的構造函數,it指數組的下??

    查看全部

  • psvm 快速生成main方法

    顯示聲明 變量:類型 如 val intNumber:Int

    查看全部
  • 文檔地址

    http://8.136.122.222/book/primary/

    查看全部
首頁上一頁1234567下一頁尾頁

舉報

0/150
提交
取消
課程須知
課程從零完整的講解了google力推且備受千萬開發者喜愛的的Kotlin語言。并以此為基礎,以通俗易懂,難易循序漸進的方式、小白的視角講解了AndroidUI、Android網絡編程、Android四大組件等必知必會的技能,每章標配一節案例實戰,融會貫通本章所學。
老師告訴你能學到什么?
Android環境搭建,開發語言Kotlin、AndroidUI開發的初中高級控件、Android中的網絡編程、Android 四大組件、類似慕課App的開發實戰、Android進階中級、高級的學習路線。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!