私はandroid.os.Handler
Androidのメカニズムに本当に混乱しています。メッセージ処理int
でメッセージのタイプをエンコードするのはなぜですか? この種の型に対して Enum を優先することを学んだEffective Java を読んだ後、int
ここでの進め方が非常に不安に感じます。
ビューからのさまざまなメッセージを処理するために、ハンドラーからサブクラス化するさまざまな状態クラスを定義して、状態パターンを使用したいと考えています。
public class ReadyState extends Handler {
@Override
public void handleMessage(Message msg, int what) {
// ...
}
}
で状態をエンコードする必要がありますか? with フィールドをint
使用しますか?Enum
enum Action {
START(0), STOP(1), BACKFLIP(2);
int code;
public Action(int code) { this.code = code }
}
代替アプローチはありますか?