要从@Bindable POJO属性更新组件元素,您可以使用Android的数据绑定库。以下是一个包含代码示例的解决方法:
android {
...
dataBinding {
enabled true
}
}
import androidx.databinding.BaseObservable;
import androidx.databinding.Bindable;
public class MyObject extends BaseObservable {
private String myProperty;
@Bindable
public String getMyProperty() {
return myProperty;
}
public void setMyProperty(String myProperty) {
this.myProperty = myProperty;
notifyPropertyChanged(BR.myProperty);
}
public void updateProperty() {
setMyProperty("New Value");
}
}
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;
import android.os.Bundle;
import com.example.databinding.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
private MyObject myObject;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
myObject = new MyObject();
binding.setMyObject(myObject);
}
}
现在,当您点击按钮时,调用updateProperty()方法将更新myProperty,并且该更改将自动反映在TextView中。