我知道,类似的话题被提出了一千次,但我骑了一些。
我有主要活动A.我还有其他几项活动,比方说:B,C,D。在B,C,D上我用goHome()方法得到了这个按钮。
我想写一次这个方法,然后在活动B,C,D上使用它。我不想在每个活动类上重新创建方法。我该怎么做?
答案 0 :(得分:2)
让子活动(这里是B,C,D)扩展一个处理onActivityResult()
的类。在开始他们的意图时,使用startActivityForResult()
,并传递请求和响应代码。
onActivityResult()
收到这些代码后,只需拥有finish()
即可。这将自动将用户从任何子活动带回活动A.
答案 1 :(得分:0)
您可以创建一个仅包含静态方法的类。 你没有说你是否通过按后退按钮或开始新的活动从B,C,D回到A. 但是,将此静态方法放在onBackPressed方法或“goHome()”方法中。
class StaticCode{
static void goHome(){
// the things generally done in B.goHome(), C.goHome(), D.goHome();
}
}
然后在B,C,D中均匀地调用它:
class B extends Activity{
...
public void goHome(){
StaticCode.goHome();
}
}
注意根据需要将参数传递给静态方法,例如Context。