需要在build.gradle中配置
viewBinding{
enabled = true
}
如果某个布局不想生成binding类可在布局中设置
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/white"
android:orientation="vertical"
tools:viewBindingIgnore="true">
<TextView
/>
</LinearLayout>
使用举例,假设布局activity_main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/white"
tools:ignore="MissingPrefix">
<TextView
android:id="@+id/main_http_tv"
android:layout_width="match_parent"
android:layout_height="50mm"
android:layout_marginLeft="30mm"
android:layout_marginRight="30mm"
android:layout_marginTop="30mm"
android:background="@color/gray_555"
android:textColor="@color/white"
android:text="获取网络接口"
android:textSize="25mm"
android:gravity="center"/>
</LinearLayout>
可以直接使用对象实例访问,代码如下
public class MainActivity extends BaseActivity {
private ActivityMainBinding activityMainBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected void init(Bundle savedInstanceState) {
super.init(savedInstanceState);
activityMainBinding = ActivityMainBinding.inflate(LayoutInflater.from(this));
setContentView(activityMainBinding.getRoot());
}
@Override
protected void initView() {
activityMainBinding.mainHttpTv.setText("赋值啦赋值啦");
}
}