#java #android #android-intent
#java #Android #android-намерение
Вопрос:
Я хочу спросить, если у меня есть более одного действия, которое должно пройти мимо другого действия, как? из приведенного ниже кода я уже передаю данные из activity A и display в DisplayActivity, но теперь я хочу добавить еще одно действие, которое является activity A и B, и все данные из них передаются в DisplayActivity. Код представляет действие A. Код 2 представляет DisplayActivity
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(MainActivity.this,Main2Activity.class);
intent1.putExtra("first_name",edt1.getText().toString());
intent1.putExtra("last_name",edt2.getText().toString());
intent1.putExtra("date_of_birth",edt3.getText().toString());
//startActivity(intent1);
startActivityForResult(intent1,1);
Intent intent2 = getIntent();
Bundle bundle = intent2.getExtras();
String first = bundle.getString("first_name");
String last = bundle.getString("last_name");
String dob = bundle.getString("date_of_birth");
txt5.setText(": " first.toString() " " last.toString());
txt7.setText(": " dob.toString());
Комментарии:
1. используя этот способ, только вы можете передавать данные из других действий в действие отображения, а другой метод заключается в том, что вы можете создать класс модели и сохранить в нем информацию, а затем получить к ней доступ в своей активности отображения
2. Намерение передает данные при запуске действия, например: — если вы откроете действие A, а затем перейдете к действию B, тогда будут показаны данные, однако, если вы не откроете A или B, ваше приложение выйдет из строя, поскольку действие отображения не получает намерения от действия, которое не запущено. Если вы хотите сохранить данные из обоих действий и использовать их впоследствии без необходимости запускать их оба, используйте sharedPrerences .
Ответ №1:
вы можете сохранить все свои данные в общих настройках и получить данные там, где вы хотите.
создайте класс AppPreference и создайте некоторые методы получения и настройки в соответствии с вашими потребностями, сохраните ваши данные в общих настройках и получите то, что вы хотите.
Класс AppPreference :-
public class AppPreference {
private static SharedPreferences mPrefs;
private static SharedPreferences.Editor mPrefsEditor;
public static String getFirstName(Context ctx) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
return mPrefs.getInt("first_name", "");
}
public static void setFirstName(Context ctx, Integer value) {
mPrefs = PreferenceManager.getDefaultSharedPreferences(ctx);
mPrefsEditor = mPrefs.edit();
mPrefsEditor.putInt("first_name", value);
mPrefsEditor.commit();
}
}
для установки значений :-
AppPreference.getFirstName(activity, edt1.getText().toString());
и для получения значений :-
String firstName = getFirstName(this);
Комментарии:
1. Поскольку я новичок в этом программировании. могу ли я узнать один пример, такой же, как в моем случае, используя SharedPreferences
2. создайте класс в своем проекте и задайте имя AppPreference
3. и создайте в своем классе некоторую последовательность и последовательность
4. я обновил свой ответ в соответствии с сохранением вашего имени
5. если это поможет вам оценить ответ