0

私はクラス、拡張、実装に本当に苦労しています。

アンドロイドでは、設定画面を作成してユーザー入力を確認したいと思います。

したがって、preferences.classという名前のファイルを使用して、次のクラスで必要なすべてを実行できます。

        public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {

        @Override
protected void onCreate(Bundle savedInstanceState) {
}

      @Override
      public void onSharedPreferenceChanged(SharedPreferences sp, String key) {
    }
}

しかし、これを別のクラスに分割する方が良いのではないでしょうか。はいの場合、どのように?

4

1 に答える 1

2

PreferenceChangeListenerを実装することができOnSharedPreferenceChangeListener、PreferenceクラスにはPrefernceChangeListener

public class Preference extends PreferenceActivity {

   private PrefernceChangeListener prefernceChangeListener;

   public void addPreferenceChangeListener(PrefernceChangeListener prefernceChangeListener){
     this.prefernceChangeListener = prefernceChangeListener;
   }

   public PrefernceChangeListener getPrefernceChangeListener(){
     return this.prefernceChangeListener;
   }    
}

一般的に、クラスに外部化できるプロパティがある場合は、HAS Aリレーションシップを使用してみてください。クラスが継承された値に加えて機能を提供する場合は、ISAリレーションシップを使用します。

ほとんどの場合、IS Aは回避できます。ただし、クラスが継承なしで意味を持たない場合は、ISAの関係よりもHASA関係が優先されます。

継承よりも構成を優先する

于 2012-05-23T08:52:32.077 に答える