应用dexguard后,onClick()无法正常工作。有什么办法解决这个问题?

时间:2018-09-24 05:50:24

标签: android dexguard

我正在使用dexguard保护我的应用程序。最近,我更新了dexgaurd版本 从 8.0.1 8.2.15 。之前,更新之前一切正常。但是使用版本 8.2.15 时,当我应用 dexguard 时,onCick方法不适用于片段 SettingsFragment 中的一个片段,而对于所有其他< strong>片段,效果很好。但是,实现 onClick()的代码和方法对于所有片段都是相同的。但是对于 SettingsFragment ,它不起作用。请帮忙。

这是我在 SettingsFragment

中的onClick方法
View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.relSignOut:
                    mCallback.doSignOut();
                    break;
//                case R.id.relEditProfile:
//                    loadManageProfile();
//                    break;
                case R.id.btn_edit_profile:
                    loadManageProfile();
                    break;
                case R.id.relDynamicFxRate:
                    parent.startSetExchangeAlertActivity();
                    break;
            }
        }
    };

预先感谢

2 个答案:

答案 0 :(得分:0)

您应该排除<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!DOCTYPE HTML> <html> <head> <title>My Page</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="TodoListJquery.js"></script> </head> <body> <h1>To-Do List</h1> <ul id="todolist"> <li><input type="checkbox" class="done"/> Clean house <button class = "delete">Delete</button></li> <li><input type="checkbox" class="done"/>Buy milk <button class = "delete">Delete</button></li> </ul> <input type="text" id="new-text" /><button id="add">Add</button> </body> </html>这样的混淆方法:

onClick

答案 1 :(得分:0)

(只需将我的评论转换为答案)

请启动switch语句,并将其替换为if-else。可能看起来有些不科学和不合逻辑,但我为我工作了很多次。

我不知道这是在编译器中还是在Android中可能的错误,但有时拒绝switch语句只会无济于事。然后,我必须将view.getId()替换为view.getPosition(),并按顺序或类似方式进行检查,以使其正常运行。