【问题标题】:Activity Will Get Get Destroyed and Turn Back To Main Activity Error: E/AndroidRuntime: FATAL EXCEPTION: main活动将被破坏并返回主活动错误:E/AndroidRuntime:致命异常:主要
【发布时间】:2020-11-30 10:34:10
【问题描述】:

所以我一直在寻找 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。提前致谢

【问题讨论】:

    标签: java android android-studio base64 encode


    【解决方案1】:

    问题在于您的 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
            }
        }
    );
    

    【讨论】:

    • 谢谢 Ben,我完全是新手,stackoverflow 社区很棒!!!!伙计,我已经尝试了 3 天来解决这个问题。谢谢** 100
    猜你喜欢
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    相关资源
    最近更新 更多