① android自定义控件时,在构造函数中用super调用父类构造函数有什么作用
调用父类的构造函数,相当于调用父类里的方法。作用就是这个方法会处理一些逻辑。
你可以去看源码,view的构造函数里可是写了一堆代码的,如果你不调用,你就需要自己处理一些逻辑了。
② Android中关于重写方法调用父类方法的问题
重写父类方法后,要调用父类的方法需要加super,显示指定调用父类。
这和android没有关系,主要是java的语法。
示例:
publicclassP{
publicvoidshow(){
}
}
publicclassSextendsP{
publicvoidshow(){
super.show();//这里显示指定调用父类的show方法,不加super,只会调用子类的方法
}
}
本问题解决:
所以这里加了super.onKeyDown后,调用的就是父类的onKeyDown方法。
③ Android 调用父类
因为我们用的Activity都是继承自Activity的,而Activity的onCreate()方法中是有一些必要的逻辑要执行的.所以我们的Activity中的onCreate()不调用super.onCreate()的话,Activity的初始化就会有问题.
有些Activity函数就不需要调用父类的同一个方法,因为父类的这些方法里留空了,就是为了让子类复写的.当然这类方法写个super.XXX()也是没错的.
如果有兴趣,可以自己翻下源码,就明白了.
④ 有谁知道安卓里重写onActivityResult()方法后为什么还要调用父类的该方法,我不这样做
你是说super.onActivityResult()吧?
因为你不知道父类的方法里都做了什么,所以蛮写一句这个让它运行一下,是不会有问题的。
实际上我估计凡是onxxx()的方法一般什么都没写,但也有例外的。
⑤ android为何经常调用super()函数
父类的这个方法已经实现了咱么需要的功能,这些功能可能是咱们自己无法实现的。好比back键的回调函数,这个回调你重写的时候,如果你既想他拥有新功能,又想能够实现返回。比如我们希望在按下back键退出程序,在推出前提示是否退出,我们必须要调用父类的back键的回调,也就是通过super关键字调用父类的方法,这样才能实现返回的功能,而我们新加入的功能就是弹出一个提示对话框。在这里,back键返回的功能不是简单的软件编程,还涉及到对硬件电路的响应,是较难实现的。这就是为什么要使用super关键字来调用父类的该方法的原因
⑥ 请问一下android的onStop方法为什么要调用父类的onStop啊super.onStop();
因为他的父类可能作了一些别的事情,super.onStop();你可以不必理会,后面加上自己要做的事情,覆写就可以了
⑦ android 怎么调用数据库方法
SQLite也支持SQL标准类型,VARCHAR、CHAR、BIGINT等。
创建数据库
Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,只要继承 SQLiteOpenHelper 类,就可以创建数据库。继承了SQLiteOpenHelper的子类,必须实现三个方法:
1、构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
2、onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
3、onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样可以清楚如何把一个数据库从旧的模型转变到新的模型。
⑧ Android在AlertDialig的子类中通过super调用父类构造函数有什么作用
1.子类在继承过程中只能继承成员变量和成员函数,无法继承构造函数
2.子类在构造函数中必须要调用父类的构造函数,如果在子类实例化过程中没有显示的调用super,则编译器会给子类的构造函数中加上父类的无参构造函数
3. super在子类的构造函数中必须是第一条语句
class Person {
String name;
Person(String name){
this.name = name;
System.out.pringln("Person 构造函数");
}
}
class Student extends Person{
int age;
Studeng(String name, int age){
super(name);
this.age = age;
System.out.pringln("Student 构造函数");
}
}
⑨ Android的ViewHolder的子类构造函数中为何要super(view)调用父类构造函数
看源码,它仅仅是给ViewHolder里的itemView赋值了。同时也做了一个判断。这里赋值之后后面会有几个方法会用到。所以如果不调用super(view),super里跟itemView有关的方法调用时会出现空指针异常。