非常抱歉,可能是我表述不够清楚。在实际开发中,调用 getParentActivity() 方法需要在子界面中获取到父界面的实例。可以通过以下几种方式来获取父界面实例:

在子界面创建时保存父界面实例
在父界面中提供一个公共静态方法,返回当前 Activity 的实例。在子界面中创建时通过该方法获取当前的父界面实例。

代码示例:

java
public class ChildActivity extends AppCompatActivity {
private MainActivity mParentActivity;

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 获取父界面实例mParentActivity = MainActivity.getParentActivity();
}private void doSomethingInParentActivity() {// 在子界面中访问父界面中的属性和方法mParentActivity.doSomething();
}

}

public class MainActivity extends AppCompatActivity {
private static MainActivity sActivity;

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sActivity = this;
}// 在父界面中提供一个公共静态方法,返回当前 Activity 的实例
public static MainActivity getParentActivity() {return sActivity;
}public void doSomething() {// 在父界面中的方法
}

}
在 Intent 中传递父界面实例
在父界面中创建 Intent 时将当前的 Activity 实例作为额外参数传递给子界面,在子界面中使用 getIntent() 方法获取 Intent ,然后调用 getParcelableExtra() 方法获取父界面实例。

代码示例:

java
public class ChildActivity extends AppCompatActivity {
private MainActivity mParentActivity;

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 获取父界面实例mParentActivity = getIntent().getParcelableExtra("parent_activity");
}private void doSomethingInParentActivity() {// 在子界面中访问父界面中的属性和方法mParentActivity.doSomething();
}

}

public class MainActivity extends AppCompatActivity {
private void openChildActivity() {
Intent intent = new Intent(this, ChildActivity.class);
intent.putExtra(“parent_activity”, this);
startActivity(intent);
}

public void doSomething() {// 在父界面中的方法
}

}
无论使用哪种方式来获取父界面实例,都可以在子界面中访问父界面的属性和方法。

安卓在子类中调用父类的方法相关推荐

  1. 继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  2. Day19:继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  3. qt 子类调用父类的函数_子类中调用父类的方法

    父类名 . __init__(self, ...) 可以将父类中的init中的属性重复调用,减少代码的重复 class Vehicle: def __init__(self, name, speed, ...

  4. 在子类中调用父类的方法super

    1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类Country=" ...

  5. Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    Python 在子类中调用父类方法详解(单继承.多层继承.多重继承)   by:授客 QQ:1033553122   测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...

  6. Python在子类中调用父类方法

    1.在子类中调用父类方法 super().方法名() 类名.方法名(self) spuer(要从哪一个类的上一级类开始查找, self).方法名() 子类调用父类方法时,一般都是想对父类方法进行扩展 ...

  7. python方法调用名字不一样_python中调用父类同名方法

    知识回顾: 上节我们学习了类的构造方法. Python中构建构造方法主要使用__init__魔法方法. 实际项目操作中,由于类的继承导致可能覆盖同名的构造方法,导致只能使用子类的构造,而无法调用父类的 ...

  8. 【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )

    文章目录 I . 子类调用父类总结 II . 子类调用父类方法 ( super ) III . 子类内部类调用父类方法 ( super@ ) IV . 子类选择调用不同的 父类 / 接口方法 ( su ...

  9. c++ 子类对象调用父类的方法

    第一种方式就是子类重写父类的方法,在子类中定义和父类同样的方法,方法体中调用父类的方法 父类代码 #pragma once #include "CClientSocket.h" c ...

最新文章

  1. operamasks-ui2.0 +MVC4.0+EF5.0实战之一 开篇及布局控件介绍
  2. 第一章 操作系统引论
  3. 狗窝里的小日子- 3 ...
  4. Nginx基本功能及其原理
  5. ble开发 linux_嵌入式开发的必备知识点
  6. 2.程序员的自我修养---编译和链接
  7. 常见脱壳与反编译工具
  8. iF.svnadmin安装部署
  9. U盘病毒专杀工具(usbcleaner)(绿色版)
  10. WIN7 64位 VS2013下载
  11. 电子内窥镜的研究现状及发展趋势
  12. mc洪磊-2012经典语言大合集 音乐无处不在 老婆无人替代 好听音乐 就用酷狗
  13. QQ交谈小图标代码html,仿qq聊天工具设计源码及说明
  14. 靶机渗透练习81-Momentum:2
  15. 关于Palantir ——第六部分 – 图分析应用
  16. 高德地图海量点 API 初探
  17. [NOIP 2005 T2] 过河 (动态规划+简单数论)
  18. 计算机智能未来发展趋势,在未来,人工智能的几个发展方向或趋势!
  19. 什么是知识管理?知识管理的方法?
  20. 第十七次ScrumMeeting博客

热门文章

  1. 【华为认证】HCIP 数通笔记—BGP路由反射器
  2. electron 调试
  3. 一文读懂 MySQL 底层架构实现
  4. Oracle 底层架构
  5. 花了一个月时间,我成为了数据分析师
  6. Foundations of Machine Learning———PAC
  7. 如何从一款单片机移植到另一款单片机
  8. 苹果又出问题? iPhone 7出现无服务状态iPhone X无法接听
  9. 一个单片机驱动LCD编程思路
  10. 使用terrasolid批量导出给定图幅点云