这里有个自定义组件:
<LinearLayout...>
<TextView android:id="@+id/textView" .../>
<EditText android:id="@+id/editText" .../>
</LinearLayout>
对应的 Java 文件:
public class CustomView extends LinearLayout {
TextView title;
EditText value;
public CustomView(Context context, @Nullable AttributeSet attrs) { ... }
getter return String...
setter (String)...
}
对应的 ViewModel:
public String title = "";
public String value = "";
@Bindable
getter...
setter...notifyPropertyChanged(...)
主界面 activity_main.xml
<layout...>
<data><variable name="vm" type="com.test.test.CustomViewModel"/></data>
<android.support.constraint.ConstraintLayout>
<com.test.test.CustomView
android:onClick="@{()->vm.onClick()}"
app:title="@={vm.title}"
app:value="@={vm.value}"/>
</android.support.constraint.ConstraintLayout>
</layout>
现在的问题是,在 activity_main 界面修改了值,viewmodel 接收不到。但在 viewmodel 里修改,界面能显示。 想请教一下应该怎么做,网上搜了半天也没解决>.< 有个设置 adapter 的方法,但我试了,貌似没被解析
1
WordTian 2018-05-16 22:52:03 +08:00 via Android 1
java 文件里有好几个构造方法,各有各的作用,都得改,不是说只改其中一个就好
|
2
winterbells OP @WordTian #1 改了,用 AS 提供的组件( EditText 之类)可以获取。
就是不知道还有没有其它要改的地方。。 |
3
winterbells OP ##
|