主題の件、PropertyChangeListenerを用いてメンバの値変化を監視しようと考えています。
以下のように実装をしましたが、該当する変数に値を代入してもpropertyChangeがコールされません。
実装謝り等あれば教えて頂きたいです。
■ 環境
Android Studio 3.0.1
Build #AI-171.4443003, built on November 10, 2017
JRE: 1.8.0_152-release-915-b08 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.13.1
Java
1〜省略〜 2 3import java.beans.PropertyChangeEvent; 4import java.beans.PropertyChangeListener; 5import java.beans.PropertyChangeSupport; 6 7public class MainActivity extends AppCompatActivity implements PropertyChangeListener { 8 9 private EnumWatchStatus watchStatus_; 10 private PropertyChangeSupport propertyChange_; 11 private enum EnumWatchStatus { 12 NONE, 13 RUNNING_PREPARE, 14 RUNNING_START, 15 RUNNING_STOP, 16 RUNNING_RESET, 17 RUNNING_FINISHED, 18 DATA_CLEAR, 19 }; 20 21 @Override 22 protected void onDestroy() { 23 super.onDestroy(); 24 if ( null != propertyChange_ ) { 25 propertyChange_.removePropertyChangeListener("watchStatus_", this); 26 } 27 } 28 29 @Override 30 protected void onCreate(Bundle savedInstanceState) { 31 super.onCreate(savedInstanceState); 32 setContentView(R.layout.activity_main); 33 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 34 setSupportActionBar(toolbar); 35 36 propertyChange_ = new PropertyChangeSupport(this); 37 propertyChange_.addPropertyChangeListener("watchStatus_", this); 38 39 watchStatus_ = EnumWatchStatus.RUNNING_PREPARE; 40 41 } 42 43 @Override 44 public void propertyChange(PropertyChangeEvent evt) { 45 Log.d("propertyChange", evt.getPropertyName()); 46 } 47} 48
宜しくお願いいたします。
あなたの回答
tips
プレビュー