I get an exception while trying to write a MifareUltralight NFC tag on Android. The error shown in logcat is:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference at
.MainActivity.getTagInfo(MainActivity.java:124)
com.mynfctest.MainActivity.resolveIntent(MainActivity.java:106)
com.mynfctest.MainActivity.onNewIntent(MainActivity.java:98)
How I can solve this error?
Write method:
public static boolean writeOnMifareUltralight(Context _context, Tag tag, String pageData, int i) {
MifareUltralight mifare = null;
int size=pageData.length();
try {
mifare = MifareUltralight.get(tag);
mifare.connect();
mifare.writePage(i, pageData.getBytes(Charset.forName("US-ASCII")));
} catch (Exception ex) {
ex.printStackTrace();
Log.d("skm", ex.getMessage());
// return false;
} finally {
try {
mifare.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return true;
}
Write method called from my activity:
switch (mifareUlTag.getType()) {
case MifareUltralight.TYPE_ULTRALIGHT:
boolean result=NFCHammer.writeOnMifareUltralight(this,tag,tvName.getText().toString(),4);
if(result){
findViewById(R.id.incProgressBar).setVisibility(View.GONE);
Intent Callintent = new Intent(this, HomeActivity.class);
Callintent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Callintent);
finish();
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
}
else{
findViewById(R.id.incProgressBar).setVisibility(View.GONE);
CommonTask.createToast("Tap The card again!!!", this, Color.RED);
}
break;
}