Android Data Binding: Generate Bind Content from XML
Generate corresponding bind content using the Data Binding Library. Here's how:
-
Add Data Binding Dependency: In your app's
build.gradlefile, add the following dependency:android { ... dataBinding { enabled = true } } dependencies { ... implementation 'com.android.databinding:compiler:3.1.4' } -
Define Variables and Binding in XML: Add the
layouttag to your XML file and define variables and bind views:<layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="viewModel" type="com.example.MyViewModel" /> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="@{viewModel.myText}" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </layout> -
Bind XML in Activity: Use
DataBindingUtilto bind the XML file in your Activity:import android.databinding.DataBindingUtil; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import com.example.databindingexample.databinding.ActivityMainBinding; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); MyViewModel viewModel = new MyViewModel(); binding.setViewModel(viewModel); } } -
Access Views and Variables: Use the
bindingobject to access views and variables:binding.viewModel.setMyText('Hello World!'); String myText = binding.viewModel.getMyText();
By following these steps, you can streamline your Android development by generating bind content directly from your XML layouts. This approach leads to cleaner, more maintainable code.
原文地址: https://www.cveoy.top/t/topic/nPWC 著作权归作者所有。请勿转载和采集!