viewBinding

viewBinding,第1张

viewBinding
  • 导入

    build.gradle:app(Groovy)文件文件中添加

        viewBinding {
            enabled = true
        }
    

    以上废弃了,变更为

       buildFeatures {
            viewBinding = true
        }
    

    以上又废弃了(报Access to ‘viewBinding’ exceeds its access rights),变更为

        buildFeatures {
            viewBinding true
        }
    
  • 使用(java+kotlin)

    • activities

      private ResultProfileBinding binding;
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          binding = ResultProfileBinding.inflate(getLayoutInflater());
          View view = binding.getRoot();
          setContentView(view);
      }
      
      private lateinit var binding: ResultProfileBinding
      
      override fun onCreate(savedInstanceState: Bundle?) {
          super.onCreate(savedInstanceState)
          binding = ResultProfileBinding.inflate(layoutInflater)
          val view = binding.root
          setContentView(view)
      }
      
    • fragments

      private ResultProfileBinding binding;
      
      @Override
      public View onCreateView (LayoutInflater inflater,
                                ViewGroup container,
                                Bundle savedInstanceState) {
          binding = ResultProfileBinding.inflate(inflater, container, false);
          View view = binding.getRoot();
          return view;
      }
      
      @Override
      public void onDestroyView() {
          super.onDestroyView();
          binding = null;
      }
      
      private var _binding: ResultProfileBinding? = null
      // This property is only valid between onCreateView and
      // onDestroyView.
      private val binding get() = _binding!!
      
      override fun onCreateView(
          inflater: LayoutInflater,
          container: ViewGroup?,
          savedInstanceState: Bundle?
      ): View? {
          _binding = ResultProfileBinding.inflate(inflater, container, false)
          val view = binding.root
          return view
      }
      
      override fun onDestroyView() {
          super.onDestroyView()
          _binding = null
      }
      
    • adapter items

      adapter中

          @NonNull
          @Override
          public TestViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
              return new TestViewHolder(TestRecyclerItemBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false));
          }
      
          override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TestViewHolder {
              return TestViewHolder(
                  TestRecyclerItemBinding.inflate(
                      LayoutInflater.from(parent.context),
                      parent,
                      false
                  )
              )
          }
      

      viewHolder中

          class TestViewHolder extends RecyclerView.ViewHolder {
              
              public TestViewHolder(@NonNull TestRecyclerItemBinding itemBinding) {
                  super(itemBinding.getRoot());
              }
          }
      
          class TestViewHolder(
              private val binding: TestRecyclerItemBinding
          ) : RecyclerView.ViewHolder(binding.root) {
              // TODO:   
      
          }
      

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5637679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存