1

我有一个使用扩展 Activity 类的类的 Android 应用程序,我们称之为 MyActivity。在那个类中,我有一个处理各种事情的处理程序。现在扩展 MyActivity 类的 Activity 应该能够扩展这些东西,即它必须能够处理除 MyActivity 之外的其他东西。

这是我想要的一个例子:

这是我修改过的 Activity 类,它有一个处理程序:

class MyActivity extends Activity {
    protected Hander myActivityHandler = new Handler()
    {
        @Override
        public void handleMessage(Message msg) {
            switch(msg.what)
            {
            case CASE_1:
                // do stuff
                break;
            case CASE_2:
                // do other stuff
                break;
            }
        }
    }
}

这是扩展该类的类,我想向处理程序添加更多案例:

class MySuperSpecialActivity extends MyActivity {
    // add/override cases of inherited myActivityHandler handler
}

我不知道这是否可能,可能有更好的方法来实现这个功能,但这就是我开始我的代码的方式,并且 MyActivity 类是必要的,因为它被使用了很多。

4

1 回答 1

4

您可以考虑在 Activity 中实现Handler.Callback

public class MainActivity extends Activity implements Handler.Callback {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Handler handler = new Handler(this);
    }

    @Override
    public boolean handleMessage(Message msg) {
        // Handle your message here
        return false;
    }    
}

从此 Activity 继承新的 Activity 并覆盖“handleMessage”:

public class AnotherActivity extends MainActivity {
    @Override
    public boolean handleMessage(Message msg) {
        super.handleMessage(msg);
        return super.handleMessage(msg);
    }

}   
于 2012-09-03T02:55:00.780 回答