【问题标题】:Getting null value for Intent.getstringExtra()获取 Intent.getstringExtra() 的空值
【发布时间】:2020-01-02 02:41:27
【问题描述】:

我无法弄清楚为什么应用程序在设备上崩溃并出现以下错误:

msg: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getStringExtra(java.lang.String)' on a null object reference

在 Android Studio 上,没有错误显示,构建成功。我通过 url 以下列方式启动 WebActivity,我什至检查字符串是否为空

MainActivity.java

if (getIntent().getExtras() != null) {
   if (getIntent().getStringExtra("LINK") != null) {
       Intent web = new Intent(this, WebActivity.class);
       web.putExtra("link", getIntent().getStringExtra("LINK"));
       MainActivity.this.startActivity(web);
       finish();
    }
}

WebActivity.java

Intent wb = getIntent();
final String url = wb.getStringExtra("link");
\\onCreate() method
if (savedInstanceState == null) {
    webView.post(() -> webView.loadUrl(url));
}

是不是因为WebActivity中的getIntent()在onCreate()方法之外

【问题讨论】:

    标签: android android-intent nullpointerexception


    【解决方案1】:

    将此代码移入onCreate

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);
    
        Intent wb = getIntent();
        final String url = wb.getStringExtra("link");
    
        if (savedInstanceState == null) {
            webView.post(() -> webView.loadUrl(url));
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      相关资源
      最近更新 更多