首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏mukekeheart的iOS之旅

    onclicklistener到底怎么用?

    ,因此前面导入的头文件只需有BUTTON即可 */ 8 public class Hello_to_worldActivity extends Activity implements Button.OnClickListener android.app.Activity; 2 import android.os.Bundle; 3 import android.view.View; 4 import android.view.View.OnClickListener import android.widget.TextView; 7 8 public class Hello_to_worldActivity extends Activity implements OnClickListener hello_world = (TextView) findViewById(R.id.textView1); 18 btn_say_hello.setOnClickListener(new Button.OnClickListener btn_listener为监听方法的接口 17 } // 因此设置监听的参数只需传本类的对象即可 18 } 19 20 class btn_listener implements Button.OnClickListener

    4.9K60发布于 2018-02-27
  • 来自专栏算法微时光

    hook之替换View.OnClickListener

    image.png 目录 第一章:android hook介绍 第二章:hook之替换View.OnClickListener 使用Hook修改View.OnClickListener 事件\ 首先 public void setOnClickListener(@Nullable OnClickListener l) { if (! 实战 执行分为三步: 第一步:获取 ListenerInfo 对象 第二步:获取原始的 OnClickListener事件方法 第三步:偷梁换柱,用 Hook代理类 替换原始的 OnClickListener Hook代理类 替换原始的 OnClickListener View.OnClickListener hookedOnClickListener = new HookedClickListenerProxy { private View.OnClickListener origin; public HookedClickListenerProxy(View.OnClickListener

    1.1K20发布于 2021-02-04
  • 来自专栏全栈程序员必看

    The method setPositiveButton(int, DialogInterface.OnClickListener) in the type AlertDialog.

    The method setPositiveButton(int, DialogInterface.OnClickListener) in the type AlertDialog.Builder is not applicable for the arguments (String, new View.OnClickListener(){}) Here is your solution, you It should not be .setNegativeButton("Don't Remind", new OnClickListener() It should be .setNegativeButton ("Don't Remind", new DialogInterface.OnClickListener() 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/150707

    36110编辑于 2022-09-10
  • 来自专栏韩曙亮的移动开发专栏

    【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )

    onClickListener) { onClickListener.onClick() } // 使用闭包创建接口对象 OnClickListener listener = { println 执行结果 : OnClickListener2 OnClickListener2 OnClickListener2 三、完整代码示例 ---- 完整代码示例 : // I. onClickListener) { onClickListener.onClick() } // 使用闭包创建接口对象 OnClickListener listener = { println (OnClickListener2 onClickListener) { onClickListener.onClick() } // 使用闭包创建接口对象 OnClickListener2 () setOnClickListener2(listener2) 执行结果 : OnClickListener OnClickListener OnClickListener2 OnClickListener2

    5.1K30编辑于 2023-03-30
  • 来自专栏韩曙亮的移动开发专栏

    【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )

    接口 , interface OnClickListener { void onClick() } 将 OnClickListener 接口对象 作为函数参数 , 传递到函数中 , void setOnClickListener (OnClickListener onClickListener) { onClickListener.onClick() } 然后调用上述函数 , 传递一个 OnClickListener 的匿名内部类 , setOnClickListener(new OnClickListener() { @Override void onClick() onClickListener) { onClickListener.onClick() } setOnClickListener{ println "OnClick2" } 执行结果 (OnClickListener onClickListener) { onClickListener.onClick() } // 正常参数调用 setOnClickListener(new

    5.5K40编辑于 2023-03-30
  • 来自专栏小陈飞砖

    Hook技术

    下面通过 Hook View 的 OnClickListener 来说明 Hook 的使用方法。 首先进入 View 的 setOnClickListener 方法,我们看到 OnClickListener 对象被保存在了一个叫做 ListenerInfo 的内部类里,其中 mListenerInfo ListeneInfo 里面保存了 View 的各种监听事件,比如 OnClickListener、OnLongClickListener、OnKeyListener 等等。 OnClickListener 替换原始的 OnClickListener View.OnClickListener hookedOnClickListener = new HookedOnClickListener private View.OnClickListener origin; HookedOnClickListener(View.OnClickListener origin) {

    69020编辑于 2022-06-25
  • 来自专栏

    Android 给自己的类加个事件

    Android 给自己的类加个事件 1、定义一个接口 public abstract interface ISpriteAction {     public interface OnClickListener  {         void onClick(Sprite v);     } } 2、给你的类定义事件  private ISpriteAction.OnClickListener onClickListener  = null; public void setOnClickListener(ISpriteAction.OnClickListener listener){         this.onClickListener  = listener;     }        触发事件 if(onClickListener ! = null) onClickListener.onClick(this); 3、设置事件处理代码 代码title.setOnClickListener(new ISpriteAction.OnClickListener

    54730发布于 2018-09-12
  • 来自专栏全栈程序员必看

    关于Android大数据收集,埋点统计的详细讲解以及案例代码分析附github代码

    */ public static void hookListener(Activity activity, OnClickListener onClickListener) { getView(View view, OnClickListener onClickListener) { //递归遍历,判断当前view是不是ViewGroup,如果是继续遍历,直到不是为止 OnClickListener * * @param view * @param onClickListener */ private static void viewHook(View view onclickListener; public OnClickListenerProxy(View.OnClickListener object, ClickCollectionManager.OnClickListener onclickListener) { this.object = object; this.onclickListener = onclickListener

    78710编辑于 2022-08-30
  • 来自专栏韩曙亮的移动开发专栏

    【Kotlin】Kotlin 中使用 Lambda 表达式替代对象表达式原理分析 ( 尾随 Lambda - Trailing Lambda 语法 | 接口对象表达式 = 接口#函数类型对象 )

    { override fun onClick(view: View) { // 点击事件 } } 对应的就是 Java 中的 匿名内部类 ; new View.OnClickListener( */ public interface OnClickListener { /** * 当视图被单击时调用。 (object : OnClickListener{ override fun onClick(v: View?) 表达式 : // 添加按钮点击事件 , 设置一个 OnClickListener#onClick 函数类型的 Lambda 表达式 // 作为点击事件 函数类型的 Lambda 表达式 , 其 Lambda 表达式类型为 (View) -> Unit 传入 View 类型实例对象 , 返回值为 void , 对应的就是 OnClickListener

    1.9K20编辑于 2023-03-30
  • 来自专栏韩曙亮的移动开发专栏

    【Android 插件化】Hook 插件化框架 ( Hook 实现思路 | Hook 按钮点击事件 )

    () { @Override public void onClick(View v) { Log.i(TAG, "Button OnClickListener onClick "); } }); 2、熟悉底层源码 使用 Hook 的前提是 , 必须熟悉要 Hook 功能的底层源码 , 如 : Hook 按钮点击事件 , 必须熟悉 View 组件的 OnClickListener getListenerInfo() 获取的是 ListenerInfo 类型的对象 , 其中就封装了 OnClickListener mOnClickListener 成员 , 点击监听器就是设置在这里 监听器 获取 ListenerInfo 中的 public OnClickListener mOnClickListener 成员 , 并重新设置新的成员 , 注入业务逻辑 ; ① 先根据全类名获取 mOnClickListener = null; try { mOnClickListener = (View.OnClickListener) field.get(mListenerInfo

    1.3K20编辑于 2023-03-29
  • 来自专栏Android小菜鸡

    设计模式学习——代理模式(Proxy Pattern)

    我们可以写一个Proxy动态代理OnClickListener。 . */ public class ClickProxy implements View.OnClickListener{ private static boolean isStartLoadingClick =false; private static boolean isStartSingleClick=false; private View.OnClickListener onClickListener onClickListener, Context context){ this.onClickListener=onClickListener; this.mC=context 否则使用方式和普通的OnclickListener使用没有差别。

    80040发布于 2018-11-22
  • 来自专栏Android 技术栈

    Android Span在项目中的几种使用方式

    onClickListener; private Context context; private int colorId; public ButtonSpan(Context context, View.OnClickListener onClickListener) { this(context, onClickListener, R.color.color_theme ); } public ButtonSpan(Context context, View.OnClickListener onClickListener, int colorId) { this.onClickListener = onClickListener; this.context = context; this.colorId = null) { onClickListener.onClick(widget); } } } 设置: // content为全部的字符串,keyWord

    91130发布于 2019-03-22
  • 来自专栏刘望舒

    理解 Android Hook 技术以及简单实战

    下面通过 Hook View 的 OnClickListener 来说明 Hook 的使用方法。 ,所以就要在给 View 设置监听事件后,替换 OnClickListener 对象,注入自定义的操作。 // 用自定义的 OnClickListener 替换原始的 OnClickListener View.OnClickListener hookedOnClickListener = , e); } } class HookedOnClickListener implements View.OnClickListener { private View.OnClickListener 下面是调用的部分,在给 Button 设置 OnClickListener 后,执行 Hook 操作。

    3.3K150发布于 2018-04-19
  • 来自专栏全栈程序员必看

    Android Hook技术的简单实现

    四、Hook View的点击事件 先看看View 点击事件的源码 public void setOnClickListener(@Nullable OnClickListener l) { 如果我们可以通过反射将这个ListenerInfo里面的mOnClickListener 替换成我们自定义的OnClickListener是不是就可以实现我们目的了。接下来我们试试! originOnClickListener = (View.OnClickListener) mOnClickListener.get(listenerInfo); // 用自定义的 hookedOnClickListener 替换原始的 mOnClickListener View.OnClickListener hookedOnClickListener { private View.OnClickListener origin; HookOnClickListener(View.OnClickListener

    94810编辑于 2022-08-26
  • 来自专栏Android 技术栈

    Android Span在项目中的几种使用方式

    onClickListener; private Context context; private int colorId; public ButtonSpan(Context context, View.OnClickListener onClickListener) { this(context, onClickListener, R.color.color \_theme); } public ButtonSpan(Context context, View.OnClickListener onClickListener, int colorId) { this.onClickListener = onClickListener; this.context = context; = null) { onClickListener.onClick(widget); } } } 设置: // content为全部的字符串,keyWord

    1.4K50发布于 2019-03-21
  • 来自专栏along的开发之旅

    <Android编程权威指南>之1.6 Activity.this和this的区别

    mFalseButton.setOnClickListaner(new View.OnClickListener(){ @Override public void onClick QuizActivity实例作为Context的参数值.注意此处应输入的参数是QuizActivity.this,不要想当然的直接输入this作为参数.因为匿名类的使用,这里的this指的是监听器View.OnClickListener 也就是说,直接在监听器View.OnClickListener里使用this,代表的是创建的这个匿名类,也就是实现了View.OnClickListener接口的一个类. 理论上说,如果View.OnClickListener匿名类继承自context,那么makeText(this,R.string.correct_toast,Toast.LENGTH_SHORT)从语法上来说就是正确的 ,但是View.OnClickListener只是一个接口,不会继承类.所以从语法上来说makeText(this,R.string.correct_toast,Toast.LENGTH_SHORT)是错误的

    54930发布于 2018-08-02
  • 来自专栏米扑专栏

    Android Listener侦听的N种写法

    OnClickListener和其他Listener方法一样,都是View类的接口,重载实现后就能使用,其接口定义如下: public interface OnClickListener { android:text="Button6" /> </LinearLayout> 2、Main.java public class Main extends Activity implements OnClickListener ()对象, 即class Main 对象 * 用这种方式的话,public void onClick 方法必须写在该Main类中, 且Main类开头实现implements OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { String strTmp strTmp = "点击Button05"; tv.setText(strTmp); } }; } 3、callOut 类 public class callOut implements OnClickListener

    1.8K20发布于 2019-02-19
  • 来自专栏云计算linux

    纸牌游戏之五 主界面类

    ; aldg.setButton(DialogInterface.BUTTON_POSITIVE, "进入", new OnClickListener() { @ ; aldg.setButton(DialogInterface.BUTTON_NEGATIVE,"确定",new OnClickListener() { @Override ; aldg.setButton(DialogInterface.BUTTON_POSITIVE, "重开游戏", new OnClickListener() { @Override ; aldg.setButton(DialogInterface.BUTTON_POSITIVE, "重开游戏", new OnClickListener() { ; aldg.setButton(DialogInterface.BUTTON_POSITIVE, "继续游戏", new OnClickListener() { @Override

    29000编辑于 2024-12-17
  • 来自专栏风吹杨柳

    2014-10-25Android学习--------按钮点击事件的写法

    android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener android.view.Window; import android.widget.Button; public class MainApp extends Activity implements OnClickListener 未实现的方法 list.setOnClickListener(this);// 这里面this代表上下文 写完它只会需要实现OnClickListener未实现的方法 当布局文件中有很多id的时候,我们最好采用让主类去实现 OnClickListener未实现的方法,也就是让MainApp去implements OnClickListener 然后重载未实现的方法public void onClick(View todo break; case R.id.aboutbutton: //todo break; } (二)在内部类中实现未实现的方法 list.setOnClickListener(new OnClickListener

    74830编辑于 2022-03-07
  • 来自专栏项勇

    常用弹出对话窗集合

    } }); normalDialog.setNegativeButton("Negative", new DialogInterface.OnClickListener ,此处设置为0 singleChoiceDialog.setSingleChoiceItems(items, mChoice, new DialogInterface.OnClickListener }); singleChoiceDialog.setPositiveButton("Positive", new DialogInterface.OnClickListener }); multiChoiceDialog.setPositiveButton("Positive", new DialogInterface.OnClickListener ").setView(editText); inputDialog.setPositiveButton("Positive", new DialogInterface.OnClickListener

    1.1K10发布于 2019-12-23
领券