Я хочу передать идентификатор R.drawable в другое действие через намерение. Я использую переключатель, чтобы найти правильный drawable, а затем используя putExtra(), чтобы передать его. Но когда я называю getIntExtra, он говорит, что передал строку. Есть ли проблема с этим кодом или это где-то в другом месте?Почему это putExtra передает строку вместо int?
int i = getExerciseId(((TextView)getView().findViewById(R.id.fragTextView)).getText().toString());
Intent intent = new Intent(v.getContext(), LevelActivity.class);
intent.putExtra("exerciseId", ((TextView)getView().findViewById(R.id.fragTextView)).getText().toString());
intent.putExtra("image", i);
startActivity(intent);
}
public int getExerciseId(String s) {
int i = -1;
switch (s) {
case "Weather":
i = R.drawable.weather;
break;
case "Weekend":
i = R.drawable.weekend;
break;
case "Hobbies":
i = R.drawable.hobbies;
break;
case "Music":
i = R.drawable.music;
break;
case "Family":
i = R.drawable.family;
}
return i;
редактировать: нет ошибок журнала, я получаю красная линия сообщение в коде, говоря:
getIntExtra(String, int) in Intent cannot be applied to (String)
в этой строке кода:
intent.getIntExtra("image");
Пожалуйста, разместите сообщение об ошибке (выход журнала) и код, в котором вы извлекаете дополнительную информацию. –