У меня есть два разных вида деятельности в моем проекте. Я намерен передавать данные из одной активности в другую. (В соответствии с пользовательским интерфейсом я выбираю элемент из Spinner в одном действии и отправляю его как текстовый msg.) Кодирование текстового msg выполняется в другом действии, то есть во втором действии.
Я успешно могу выбрать нужный элемент из Spinner, но не могу передать его в виде текстового сообщения. Я пробовал использовать
Bundle b=new Bundle();
b.putString("Message",message );
intent.putExtras(b);
startActivity(intent);
чтобы выбрать элемент из первой активности. Он функционирует хорошо, НО КАК Я ЗАПУСТИТЬ/ПОЛУЧИТЬ ЭТО. Во втором действии, которое отправит его в виде текстового сообщения.
b = getIntent().getExtras();
String s=b.getString("Message");
Вышеупомянутый код не работает и принудительно закрывает приложение.
Узнайте, как использовать logcat: http://developer.android.com/guide/developing/tools/adb.html И вы обнаружите, что вы получаете ActivityNotFoundException. Это исправлено добавлением второго действия в ваш AndroidManifest.xml.
например.
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ActivityA"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="ActivityB"></activity>
</application>
Где важная часть:
<activity android:name="ActivityB"></activity>