本篇內容主要講解“Android Studio的視圖綁定ViewBinding怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Android Studio的視圖綁定ViewBinding怎么使用”吧!
成都創新互聯公司是一家集網站建設,什邡企業網站建設,什邡品牌網站建設,網站定制,什邡網站建設報價,網絡營銷,網絡優化,什邡網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。View Binding是一項功能,使您可以更輕松地編寫與視圖交互的代碼。在模塊中啟用視圖綁定后,它將為該模塊中存在的每個XML布局文件生成一個綁定類。綁定類的實例包含對在相應布局中具有ID的所有視圖的直接引用。
正文
將 viewBinding 元素添加到其 build.gradle 文件中,添加完后需要重新sync
// Android Studio 3.6.0 android { ... viewBinding { enabled = true } }
在 Android Studio 4.0 中,viewBinding 將被變成屬性整合到了buildFeatures 選項中,配置要改成:
// Android Studio 4.0 android { buildFeatures { viewBinding = true } }
如果你的布局文件是activity_main.xml,則會生成一個ActivityMainBinding的類,如果你的布局文件是result_profile.xml,則會生成一個ResultProfileBinding的類,以此類推。
下面以activity_main.xml及其對應的MainActivity.java為例說明:
假設activity_main.xml放置了三個控件:TextView(Id為text)、Button(Id為button)、ImageView(沒有設置Id),其中ImageView因為沒有設置Id,因此綁定類中不存在對它的引用,所以在代碼中無法被引用。
MainActivity.java的部分代碼如下:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); LayoutInflater layoutInflater = LayoutInflater.from(this); ActivityMainBinding binding = ActivityMainBinding.inflate(layoutInflater); setContentView(binding.getRoot()); binding.text.setText("文字已變化"); binding.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "Button被點擊", Toast.LENGTH_SHORT).show(); } }); }
注意事項
注意:原先的setContentView(R.layout.activity_main)需要注釋掉,否則會重復設置ContentView。
布局的根視圖(activity_main.xml)會自動生成一個名為 rootView 的成員變量。在 Activity 的 onCreate()方法中,要將 rootView傳入 setContentView()方法,從而讓 Activity 可以使用綁定對象中的布局,rootView是私有變量,需要使用getRoot()方法拿到。
到此,相信大家對“Android Studio的視圖綁定ViewBinding怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯建站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
文章標題:AndroidStudio的視圖綁定ViewBinding怎么使用-創新互聯
轉載來于:http://m.newbst.com/article44/dcgphe.html
成都網站建設公司_創新互聯,為您提供微信小程序、營銷型網站建設、Google、自適應網站、網站導航、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯