按钮的长短按事件交换的最佳实践

View imageMenu = (View) XposedHelpers.getObjectField(param.thisObject, "目标view");
Object mListenerInfo = XposedHelpers.getObjectField(imageMenu, "mListenerInfo");
Object onClick = XposedHelpers.getObjectField(mListenerInfo, "mOnClickListener");
Object onLongClick = XposedHelpers.getObjectField(mListenerInfo, "mOnLongClickListener");
imageMenu.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        XposedHelpers.callMethod(onLongClick, "onLongClick", imageMenu);
    }
});
imageMenu.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        XposedHelpers.callMethod(onClick, "onClick", imageMenu);
        return true;
    }
});
发布了80 篇原创文章 · 获赞 44 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/lemisky/article/details/104178997