Передача данных между действиями в Android - PullRequest
35 голосов
/ 03 июня 2010

Как вы передаете данные между действиями в приложении Android?

Ответы [ 3 ]

56 голосов
/ 03 июня 2010

в вашей текущей деятельности создайте намерение

Intent i = new Intent(getApplicationContext(), ActivityB.class);
i.putExtra(key, value);
startActivity(i);

затем в другом упражнении получите эти значения.

Bundle extras = getIntent().getExtras(); 
if(extras !=null) {
    String value = extras.getString(key);
}
1 голос
/ 15 января 2015

Используйте глобальный класс:

public class GlobalClass extends Application
{
    private float vitamin_a;


    public float getVitaminA() {
        return vitamin_a;
    }

    public void setVitaminA(float vitamin_a) {
        this.vitamin_a = vitamin_a;
    }
}

Вы можете вызывать сеттеры и геттеры этого класса из всех других классов. Для этого вам нужно создать объект GlobalClass в каждом акте:

GlobalClass gc = (GlobalClass) getApplication();

Тогда вы можете позвонить, например:

gc.getVitaminA()
0 голосов
/ 09 апреля 2015

Поместите это в свою вторичную деятельность

SharedPreferences preferences =getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE);

android.content.SharedPreferences.Editor editor = preferences.edit();

editor.putString("name", "Wally");
            editor.commit();

Поместите это в свой MainActivity

SharedPreferences preferences = getApplicationContext().getSharedPreferences("name", MainActivity.MODE_PRIVATE);

if(preferences.contains("name")){

Toast.makeText(getApplicationContext(), preferences.getString("name", "null"), Toast.LENGTH_LONG).show();

}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...