【问题标题】:android how to call an override metod of other classandroid如何调用另一个类的重写方法
【发布时间】:2011-12-28 10:30:53
【问题描述】:

在我的应用程序中,我有一个活动,并且在该类中我有一个内部类,该类具有一些覆盖方法,例如 onDraw()。 我想在该活动或其他类中调用该 onDraw() 方法。

有可能吗? 如果可能的话,请给我一些方法。

下面是我的代码,

   public class MainClass extends Activity {
    @Override
           public void onCreate(Bundle savedInstanceState) {
                   super.onCreate(savedInstanceState);
                   if (D)
                           Log.e(TAG, "+++ ON CREATE +++");

                   rot1 = new Rotate1(this);
                   rot1.onDraw(canvas);    }

//Innerclass
    public class Rotate1 extends ImageView {
    public Rotate1(Context context) {
                           super(context);

                           random = new Random();
                           paint = new Paint();
    }
    @Override
                   protected void onDraw(Canvas canvas) {

                           super.onDraw(canvas);

                           height = this.getHeight();
                           width = this.getWidth();

                           // Log.d(tag, "Height of the canvas is = " + height);
                           // Log.d(tag, "Width of the canvas is = " + width);
                           //

                           final Bitmap bitmap = rollerDesk;
                           final Bitmap bitmap1 = mBitmap1;

                           ball2Rotate = new Canvas(mBitmap1);
    }
    }

谢谢

【问题讨论】:

  • 如果您使用扩展视图类扩展您的内部类,那么您可以覆盖其 onDraw() 方法,您之前尝试过什么。邮政编码。
  • 我用代码编辑了我的 c\question,只是通过它

标签: android methods overriding


【解决方案1】:

对于一个方法名称类似于 onDraw 的内部类,它隐藏了外部类(或其超类之一)中的方法,您可以在内部类方法中使用以下符号:

Outer.this.onDraw(args);

【讨论】:

    【解决方案2】:

    你只需在类中按照你想要的方式编写 onDraw() 就可以扩展原始 onDraw 所在的位置——要小心,因为有时你必须在超类中调用 onDraw

    【讨论】:

      【解决方案3】:

      是系统内部在特定事件上调用的 overRidden 方法。所以总是调用那个事件而不是重写方法。 在您的情况下调用CustomView.invalidate(),它将在内部调用 onDraw() 并刷新该视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-22
        • 2012-06-02
        • 2011-03-07
        • 1970-01-01
        • 2021-10-03
        • 2011-03-15
        • 1970-01-01
        相关资源
        最近更新 更多