#java #android
#java #Android
Вопрос:
Вероятно, это очень простой вопрос, но я не смог найти ответа.
Мне нужно передать данные из RecyclerView, но когда я проверяю их в соответствующем действии, данные равны нулю.
mvHolder.barcode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent s = new Intent(context, SummaryActivity.class);
s.putExtra("SUMMARY",sp.getDATA().get(i).getId_summary()); // data is not null
context.startActivity(s);
}
});
и вот как я пытаюсь этого достичь :
Bundle extras = getIntent().getExtras();
if (extras != null) {
strBarcode = extras.getString("SUMMARY");
// and get whatever type user account id is
}
но когда я это отлаживаю, оказывается, что strBarcode равен null. Я не знаю, в чем проблема, я думаю, мой код тоже должен работать. Пожалуйста, помогите мне
Комментарии:
1. Какое значение вы получили в sp.getData().get(i).getId_summary()
2. это идентификатор для каждой строки в recyclerview, он с сервера @ShantoGeorge
3.
sp.getDATA().get(i).getId_summary()
должно быть string. Если это целое число, тоgetString()
возвращает null4. Вам придется использовать интерфейс, если вы хотите передать данные в соответствующее действие!
5. Вы пытались передать какие-то данные напрямую:
s.putExtra("SUMMARY", "Some string");
?
Ответ №1:
Intent data = getIntent();
if (data != null) {
strBarcode = data.getStringExtra("SUMMARY");
// and get whatever type user account id is
}
Комментарии:
1. @Iganov Не могли бы вы, пожалуйста, обновить вопрос, предпочтительно с помощью StackTrace?
Ответ №2:
Intent data = getIntent();
if (data != null) {
int strBarcode = data.getIntExtra("SUMMARY");
}
Пожалуйста, попробуйте это
Ответ №3:
Проверьте, getIntent().hasExtra("SUMMARY") returns true
. Если это произойдет, убедитесь, что это sp.getDATA().get(i).getId_summary()
возвращает String
.
Там может быть лишнее, но вы пытаетесь получить в виде строки, и оно может иметь другой тип.