我有一个我决定重写的android应用程序,其中一个重写的原因是因为我可以根据类中的变量设置10个以上的TextViews,例如:自动/动态更新Android中的TextView文本
MyClass myClass = new MyClass();
myClass.myNumber = 5; // inside MyClass - public int myNumber;
LinearLayout mainLayout = (LinearLayout) view.findViewById(R.id.mainLayout);
TextView myTextView = new TextView(getActivity()); //In a fragment
myTextView.setText(String.format("myNumber currently has a value of %d", myClass.myNumber));
mainLayout.addView(myTextView);
return view;
到现在为止,我一直在使用.setOnClickListener在不改变mynumber的按钮/意见,再次设置视图的文本时的mynumber的变化,然后调用.invalidate值()重绘TextView,这工作得很好,但我使用这种方法非常沉重,代码变得相当重复,更改一个整数可能会影响很多视图(所有这些都会以不同的方式使用它 - 例如不同的措辞或计算方式(例如myNumber * 2)) 。我想这是因为它在TextView中是一个不可变的字符串。
我试图创建一个实现Observer的自定义TextView(使MyClass扩展Observable),并且在更新方法中,我可以使其无效,但它仍然具有相同的文本。我也尝试创建单个元素数组,试图传递引用而不是希望当它被更改,然后视图无效时,它将拾取新值,但文本仍然保持不变。
如何获取一个TextView,当myNumber的值发生变化时它将自动更新?某种绑定?完全适用于这个