#android #nullpointerexception #bundle
Вопрос:
Я устанавливаю намерение перемещаться между действиями. Но здесь пакет равен нулю после установки намерения. Вот мой код,
NewCourseActivity.java AdapterView.OnItemSelectedListener mItemSelectedListener = new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterViewlt;?gt; parent, View view, int position, long id) { CourseSelected=parent.getSelectedItem().toString(); switch (view.getId()) { case R.id.BESPINNER: String becourse=parent.getSelectedItem().toString(); Intent intent = new Intent(NewCourseActivity.this,BEViewCourseActivity.class); Bundle data1 = new Bundle(); data1.putString("course",becourse); intent.putExtras(data1); startActivity(intent); break; } } BEViewCourseActivity.java: CourseSelected=findViewById(R.id.courseSelected); Intent intent = getIntent(); Bundle data = intent.getExtras(); if(data != null){ String selectedcourse = data.getString("course"); CourseSelected.setText(selectedcourse); } else{ CourseSelected.setText("Failed"); }
Ответ №1:
Для передачи данных от одного вида деятельности к другому:
// updated becourse String String becourse = parent.getItemAtPosition(position).toString(); Intent intent = new Intent(NewCourseActivity.this , BEViewCourseActivity.class); intent.putExtra ( "course" , becourse ); startActivity ( intent );
Затем получите переданные данные:
Bundle extras = getIntent().getExtras(); if (extras != null) { String stringValue = extras.getString("course"); // string must be the same as the passed one }
Комментарии:
1. но никакие данные не проходят через пакет, и дополнительные функции пакета в действиях получения имеют нулевое значение
2. Добавьте журнал перед началом действия , чтобы проверить значение строки: Log.i( «Моя активность», конечно );
3. Что такое «курс» в точности? Что он должен вернуть?
4. он возвращает данные в spinner, которые затем переходят к получающему действию