Android: передача выбора прядильщика через вкладки - PullRequest
0 голосов
/ 23 января 2011

Я делаю приложение для Android с несколькими вкладками, и я следовал инструкциям для разработчиков, которые дали мне указание сделать несколько действий. У меня есть счетчики на первой вкладке.

Как передать значения, выбранные счетчиками, на другие вкладки?

Спасибо за любую помощь.

Ответы [ 4 ]

1 голос
/ 23 января 2011

Вы можете использовать SharedPreferences для этого. Вы также можете воспользоваться OnSharedPreferenceChangeListener , чтобы получить обратный вызов в другом Activities всякий раз, когда SharedPreference изменяется в любом месте вашего приложения.

Использование SharedPreferences будет гарантирует непротиворечивые данные и постоянство . Из API документов :

Изменения в настройках должны пройти через SharedPreferences.Editor объект для обеспечения предпочтительных значений оставаться в согласованном состоянии и контролировать, когда они привержены хранение.

0 голосов
/ 23 января 2011

В моем приложении у меня есть объект Account, который необходимо передать - я сделал его Parcelable:

https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/account/Account.java#L11

и просто добавил его к Intents

https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/TabWidget.java#L83

и в приемниках прочитайте его обратно:

https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/OneTweetActivity.java#L76

Возможно, не лучший вариант.Но я на самом деле не думаю, что статические синглтоны лучше (вероятно, исходят из моего фона Appserver), а Приложение помечено как «не использовать» в документах Android, поэтому я не вижу очевидного лучшего решения.В зависимости от того, что вы делаете, использование предпочтений также может не "хорошо масштабироваться".

0 голосов
/ 23 января 2011

Другое решение заключается в использовании приложения класса.

0 голосов
/ 23 января 2011

Другое быстрое и грязное решение будет работать со статическим классом, например:

public class OptionHelper
{
    private static String option;

    public static void setSelectedOption(String option)
    {
       //...
    }
    public static String getSelectedOption(){
       //...
    }
}

Возможно, не рекомендуется:)

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