我有一个Android应用程序,它使用扩展Activity类的类,我们称之为MyActivity。在那个类中,我有一个处理各种事物的处理程序。现在,扩展MyActivity类的活动应该能够扩展这些内容,即它必须能够处理除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类是必需的。
答案 0 :(得分:4)
您可以考虑在您的活动中实施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);
}
}