zoukankan      html  css  js  c++  java
  • databinding

    bind,graud 里面添加

    dataBinding { enabled = true }
    <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="viewModel" type="com.shire.mvvmdemo.viewModel.MainViewModel" /> </data> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activi


    作者:希灵丶
    链接:http://www.jianshu.com/p/981a2aa956b2
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="viewModel" type="com.shire.mvvmdemo.viewModel.MainViewModel" /> </data> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activi


    作者:希灵丶
    链接:http://www.jianshu.com/p/981a2aa956b2
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    <?xml version="1.0" encoding="utf-8"?>
    
    <layout xmlns:android="http://schemas.android.com/apk/res/android">
      <data>
        <variable
            name="viewModel"
            type="com.shire.mvvmdemo.viewModel.MainViewModel"
            />
      </data>
      <RelativeLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:paddingBottom="@dimen/activity_vertical_margin"
          android:paddingLeft="@dimen/activi
    
    
    
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
            binding.setViewModel(new MainViewModel(binding));
        }
    }
    
    
    public class MainViewModel implements onSearchListener { private ActivityMainBinding binding; private SearchModel searchModel = new SearchModel(); private Handler handler; public MainViewModel(ActivityMainBinding binding) { this.binding = binding; handler = new Handler(Looper.getMainLooper()); } public void search(View view) { binding.pbLoad.setVisibility(View.VISIBLE); searchModel.getIPaddressInfo(binding.etIp.getText().toString().trim(), this); } @Override public void onSuccess(final IPAddress ipAddress) { handler.post(new Runnable() { @Override public void run() { binding.pbLoad.setVisibility(View.GONE); binding.tvMsg.setText(ipAddress.toString()); } }); } @Override public void onError() { handler.post(new Runnable() { @Override public void run() { binding.pbLoad.setVisibility(View.GONE); binding.tvMsg.setText("查询失败"); } }); } }


    作者:希灵丶
    链接:http://www.jianshu.com/p/981a2aa956b2
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    public class MainViewModel implements onSearchListener {
    
      private ActivityMainBinding binding;
      private SearchModel searchModel = new SearchModel();
      private Handler handler;
    
      public MainViewModel(ActivityMainBinding binding) {
        this.binding = binding;
        handler = new Handler(Looper.getMainLooper());
      }
    
      public void search(View view) {
        binding.pbLoad.setVisibility(View.VISIBLE);
        searchModel.getIPaddressInfo(binding.etIp.getText().toString().trim(), this);
      }
    
      @Override public void onSuccess(final IPAddress ipAddress) {
        handler.post(new Runnable() {
          @Override public void run() {
            binding.pbLoad.setVisibility(View.GONE);
            binding.tvMsg.setText(ipAddress.toString());
          }
        });
      }
    
      @Override public void onError() {
    
        handler.post(new Runnable() {
          @Override public void run() {
            binding.pbLoad.setVisibility(View.GONE);
            binding.tvMsg.setText("查询失败");
          }
        });
      }
    }
    
    
    作者:希灵丶
    链接:http://www.jianshu.com/p/981a2aa956b2
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    
    public class MainViewModel implements onSearchListener {
    
      private ActivityMainBinding binding;
      private SearchModel searchModel = new SearchModel();
      private Handler handler;
    
      public MainViewModel(ActivityMainBinding binding) {
        this.binding = binding;
        handler = new Handler(Looper.getMainLooper());
      }
    
      public void search(View view) {
        binding.pbLoad.setVisibility(View.VISIBLE);
        searchModel.getIPaddressInfo(binding.etIp.getText().toString().trim(), this);
      }
    
      @Override public void onSuccess(final IPAddress ipAddress) {
        handler.post(new Runnable() {
          @Override public void run() {
            binding.pbLoad.setVisibility(View.GONE);
            binding.tvMsg.setText(ipAddress.toString());
          }
        });
      }
    
      @Override public void onError() {
    
        handler.post(new Runnable() {
          @Override public void run() {
            binding.pbLoad.setVisibility(View.GONE);
            binding.tvMsg.setText("查询失败");
          }
        });
      }
    }
    
    
     
    <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="viewModel" type="com.shire.mvvmdemo.viewModel.MainViewModel" /> </data> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activi


    作者:希灵丶
    链接:http://www.jianshu.com/p/981a2aa956b2
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    MySQL5.7.17解压版安装
    autocomplete初步使用
    前端面试题:驼峰体与匈牙利语法的相互转换
    前端常用正则表达式
    解决npm报错:Module build failed: TypeError: this.getResolve is not a function
    vue实现对语言的切换,结合vue-il8n。
    大量数据处理的一个思路
    不同格式矢量数据源在MapServer上发布服务后切片缓存效率对比
    CentOS7使用yum安装PostgreSQL和PostGIS
    ArcGIS消除图斑重叠错误
  • 原文地址:https://www.cnblogs.com/leshen/p/7842639.html
Copyright © 2011-2022 走看看