setContentView()是Android开发中常用的方法,用于设置Activity的布局文件。如果希望防止setContentView()方法被重写,可以采取以下几种方式:
public final void setContentView(int layoutResID) {
// 实现自己的逻辑
super.setContentView(layoutResID);
}
public final void setContentView(int layoutResID) {
// 实现自己的逻辑
setCustomContentView(layoutResID);
}
protected abstract void setCustomContentView(int layoutResID);
子类需要实现setCustomContentView()方法来设置具体的布局文件。
public class MyActivityWrapper extends Activity {
private Activity mActivity;
public MyActivityWrapper(Activity activity) {
mActivity = activity;
}
@Override
public void setContentView(int layoutResID) {
// 实现自己的逻辑
mActivity.setContentView(layoutResID);
}
// 其他方法的代理实现
}
通过包装原始的Activity类,可以在setContentView()方法中添加自己的逻辑。
以上是防止setContentView()被重写的几种方法,根据具体的需求和场景选择适合的方式。
领取专属 10元无门槛券
手把手带您无忧上云