J'ai essayé différentes solutions, mais comme j'ai échoué, j'ai besoin de savoir ce qui ne va pas avec mon code et ce qu'il devrait être.Comment faire pour résoudre "java.lang.NumberFormatException: s == null à java.lang.Integer.parseInt"
Voici mon erreur logcat
E/AndroidRuntime: FATAL EXCEPTION: main
Process: freemig.freemigmessenger, PID: 31699
java.lang.NumberFormatException: s == null
at java.lang.Integer.parseInt(Integer.java:570)
at java.lang.Integer.parseInt(Integer.java:643)
Et il arrive sur un bouton événement click qui est
private class SentMessageHolder extends RecyclerView.ViewHolder {
TextView messageText, timeText;
ImageButton iB;
MsgDltAPIService msgDltAPIService;
String rec_id;
String content_id;
int[] ids = new int[100];
SentMessageHolder(final View itemView) {
super(itemView);
messageText = itemView.findViewById(R.id.text_message_body);
timeText = itemView.findViewById(R.id.text_message_time);
iB = itemView.findViewById(R.id.sentMessageTextDelete);
msgDltAPIService = RestClient.getClient().create(MsgDltAPIService.class);
iB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
userAuthenticationKey = new UserAuthenticationKey(mContext.getApplicationContext());
sharedPreferences = mContext.getApplicationContext().getSharedPreferences("user authentication", MODE_PRIVATE);
editor = sharedPreferences.edit();
ids[0] = Integer.parseInt(content_id);
final MsgDltRequest msgDltRequest = new MsgDltRequest(
ids,
rec_id);
Call<MsgDltResponse> call =
msgDltAPIService.msgDlt(userAuthenticationKey.getUserTokenKey(),
msgDltRequest);
call.enqueue(new Callback<MsgDltResponse>() {
@Override
public void onResponse(Call<MsgDltResponse> call, Response<MsgDltResponse> response) {
Toast.makeText(mContext.getApplicationContext(), "" + response.body().getData(),
Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(Call<MsgDltResponse> call, Throwable t) {
Toast.makeText(mContext.getApplicationContext(), "please try again",
Toast.LENGTH_LONG).show();
}
});
}
});
}
void bind(Datum2 message) {
messageText.setText(message.getMsg());
// Format the stored timestamp into a readable String using method.
timeText.setText(message.getCreatedAt().getFormatTime());
content_id.valueOf(message.getContentId().toString()) ;
if (! message.getOriginatorId().equals(userID)){
rec_id.valueOf(message.getOriginatorId());
}
else {
rec_id = null;
}
}
}
Il me donne l'erreur sur cette ligne
ids[0] = Integer.parseInt(content_id);
J'ai essayé plusieurs les choses comme je l'ai dit précédemment, mais quel devrait être mon code? My full class is here. Encore une chose que je travaille sur une classe d'adaptateur.
double possible de [Qu'est-ce qu'un NumberFormatException et comment puis-je résoudre ce problème?] (Https://stackoverflow.com/questions/39849984/what-is-a-numberformatexception-and-how-can-i -fix-it) – xenteros
Vous pouvez vérifier quelle valeur est contenue dans "content_id". Après cela, vous décidez comment vous formater. – Aunog