В приложении есть несколько cardView, и нажмите на каждую карту, чтобы запустить новое намерение. Кроме того, перед запуском Intent я передаю puExtra.
final String label = holder.text_label.getText().toString().trim();
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (position == 0 && label.equalsIgnoreCase("Alt. English")) {
Intent intent = new Intent(context, ShowPDFActivity.class);
intent.putExtra("AltE","AltE");
context.startActivity(intent);
}
}
});
И в другой своей деятельности я создал массив заголовков, в котором я сохранил все возможные значения, которые в этом задании.
String[] title = {
"AltE",
"Alt.English2013"
};
Теперь я запускаю для L oop, чтобы посмотреть, какое значение получено, и, соответственно, выполнить функции.
Intent intent = getIntent();
for (int i = 0; i <= title.length; i++) {
Log.e("Length ", String.valueOf(title.length));
a1 = intent.getStringExtra(title[i]);
if (a1.equalsIgnoreCase("AltE")) {
String pdf = "https://www.researchgate.net/STUDIES.pdf";
webView.loadUrl("http://docs.google.com/viewer?url=" + pdf);
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
// do your stuff here
progressbar.setVisibility(View.GONE);
}
});
} else {
Toast.makeText(this, "In Else", Toast.LENGTH_SHORT).show();
}
Но приложение вылетает с этим сообщением:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equalsIgnoreCase(java.lang.String)' on a null object reference
Что я делаю неправильно и как это можно исправить?