活动将被破坏并返回主活动错误:E / AndroidRuntime:致命例外:main

问题描述

所以我一直在寻找stackoverflow + reddit + docs,但是对此仍然没有解决方案,我尝试了很多catch块,但是我没有尝试使用bytearray的任何线索,但是仍然是同样的问题。这是错误:

ERROR """  E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.namecompany.nameoftheapp,PID: NOOFPID
    java.lang.IllegalArgumentException: bad base-64
        at android.util.Base64.decode(Base64.java:161)
        at android.util.Base64.decode(Base64.java:136)
        at android.util.Base64.decode(Base64.java:118)
        at com.nameoftheapp.company.EncryptDecrypt$2.onClick(EncryptDecrypt.java:56)
        at android.view.View.performClick(View.java:6294)
        at android.view.View$PerformClick.run(View.java:24770)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) """ ERROR

''' **代码:“'' 尝试{

                encode.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {


                        encode.setText(Base64.encodeToString(inputText.getText().toString().getBytes(),Base64.DEFAULT));
                    }
                });


                decode.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        decode.setText(new String(Base64.decode(inputText.getText().toString(),Base64.DEFAULT)));

                    }
                });

            }
           
            catch (Exception e) {
                Toast.makeText(EncryptDecrypt.this,"Numbers Cannot Be Decoded!",Toast.LENGTH_SHORT).show();
            }        ''''code** '''

UPDATE :::::虽然测试编码部分很好,但是有时解码会完全摆脱类/活动,并进入主要状态,并向我显示代码上面的错误:::: UPDATE >

如果您有任何解决方案或对这个问题有所了解,请先lmk。在此先感谢

解决方法

问题出在您的try / catch块的结构中。你有这样的形状:

try {
    encode.setOnClickListener(...);
    decode.setOnClickListener(...);
} catch (Exception e) {
    // ...
}

这只会捕获设置侦听器时抛出的异常。它对从监听器内部引发的异常没有任何影响。

尝试以下方法:

decode.setOnClickListener(
    @Override
    public void onClick(View v) {
        try {
            decode.setText(...);
        } catch (Exception e) {
            // show toast message here
        }
    }
);

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...