title: create different InverseBindingAdapter for Short and Integer values on android:text of EditText
body: <p>I create these methods for custom data binding</p>
  
  <pre><code>@BindingAdapter("android:text")
  public static void setShortText(TextView view, short value) {
      view.setText(String.valueOf(value));
  }
  
  @InverseBindingAdapter(attribute = "android:text")
  public static Short getShortText(TextView view) {
      try {
          return Short.parseShort(view.getText().toString());
      } catch (NumberFormatException e) {
          return null;
      }
  }
  
  @BindingAdapter("android:text")
  public static void setIntText(TextView view, int value) {
      view.setText(String.valueOf(value));
  }
  
  @InverseBindingAdapter(attribute = "android:text")
  public static Integer getIntText(TextView view) {
      try {
          return Integer.parseInt(view.getText().toString());
      } catch (NumberFormatException e) {
          return null;
      }
  }
  </code></pre>
  
  <p>and bind my Short and Integer variables to views. when I build my project, the auto generated java uses the first three methods and it's have no usage from the fourth one (<code>getIntText</code>), and the problem is here. it use <code>getShortText</code> for Integer fields and cause compile time <code>casting</code> error. </p>
  
  <p>I'm surprised, data binder properly detect it should use <code>setIntText</code> for set Integer values to views but it can't recognize that for inverseBinding.</p>
  
  <p>how can I fix the problem?</p>
  
  <p>please note that I prefer not use from below technique because I want to have control on binding when data in null</p>
  
  <pre><code>android:text="@={`` + obj.field}
  </code></pre>