下面是 ago 对象的代码: .method public constructor <init>(Lcom/qihoo360/mobilesafe/ui/privatespace/PrivateSetupPreference;)V .locals 0 iput-object p1, p0, Lago;->a:Lcom/qihoo360/mobilesafe/ui/privatespace/PrivateSetupPreference; invoke-direct {p0}, Ljava/lang/Object;-><init>()V return-void .end method .method public onPreferenceClick(Landroid/preference/Preference;)Z .locals 1 iget-object v0, p0, Lago;->a:Lcom/qihoo360/mobilesafe/ui/privatespace/PrivateSetupPreference; invoke-static {v0}, Lcom/qihoo360/mobilesafe/ui/privatespace/PrivateSetupPreference;->c(Lcom/qihoo3 60/mobilesafe/ui/privatespace/PrivateSetupPreference;)V # ☻ 调 用 PrivateSetupPreference 的静态 c 方法 ☻ const/4 v0, 0x1 return v0 .end method 响应用户点击的代码只是调用了“PrivateSetupPreference->c()”方法,真是让人晕 啊,代码又迂回到了“PrivateSetupPreference.smali”中,其它几个 agp、agm、agn 对象 与这里一样,只是分别调用了 d()、e()与 f()。 .method public static synthetic c(Lcom/qihoo360/mobilesafe/ui/privatespace/PrivateSetupPreference;)V .locals 0 invoke-direct {p0}, Lcom/qihoo360/mobilesafe/ui/privatespace/PrivateSetupPreference;->d()V return-void .end method 在 c 中又调用了 d(),继续看 d(),是私有方法哦: .method private d()V .locals 6 invoke-static {p0}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/Lay outInflater; move-result-object v0 const v1, 0x7f030046 const/4 v2, 0x0 invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/ View; move-result-object v2 #获取 View const v0, 0x7f0a0104 invoke-virtual {v2, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 #☻获取“输入密码”的 EditText☻ check-cast v0, Landroid/widget/EditText; const v1, 0x7f0a0105 invoke-virtual {v2, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v1 #☻获取“确认密码”的 EditText☻ check-cast v1, Landroid/widget/EditText; new-instance v3, Lcom/qihoo360/mobilesafe/ui/dialog/DialogFactory; const v4, 0x7f0b0065 const v5, 0x7f0b0066 invoke-direct {v3, p0, v4, v5}, Lcom/qihoo360/mobilesafe/ui/dialog/DialogFactory;-><init>(Landroid/content/Cont ext;II)V #初始化一个 DialogFactory 对象 iget-object v4, v3, Lcom/qihoo360/mobilesafe/ui/dialog/DialogFactory;->mBtnOK:Landroid/widget/Butto n;
const v5, 0x7f0b0090 |