Android: повторное использование действия, хранящегося как локальная переменная, в другом действии - PullRequest
1 голос
/ 27 марта 2011

У меня есть два действия в приложении Android 2.1.

Первым является основное занятие с представлением, предлагающим сенсорное взаимодействие.

Вторым является действие Настройки, предлагающее настройки для настройки параметров, которые используются в Main.

В настоящее время у меня есть действие Настройки в моем основном классе, как экземпляр класса. Я читаю настройки из этого экземпляра в Main.

public class Main extends Activity implements View.OnClickListener, View.OnTouchListener {
    protected Settings settings;
}

public class Settings extends Activity implements ListAdapter {
}

Я обнаружил, как повторно использовать мои действия в настройках, если они уже созданы, и обеспечить только один постоянный экземпляр:

// within Main.java :
Intent intent = new Intent(this,Settings.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); // reuse existing Settings
this.startActivity(intent);

Моя проблема в том, что я не могу понять, как связать это с локальным участником настроек в Main.

Будет ли кто-нибудь достаточно любезен, чтобы дать мне краткий пример того, как я могу запустить свой локальный экземпляр «настроек» как повторно используемое действие?

Большое спасибо

1 Ответ

2 голосов
/ 27 марта 2011

В настоящее время у меня есть действие Настройки в моем основном классе, как экземпляр класса.

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

Моя проблема в том, что я не могу понять, как связать это с локальным участником настроек в Main.

При удалении «члена локальных« настроек »в Main» эта проблема исчезает.

Также, пожалуйста, используйте SharedPreferences и PreferenceActivity для сбора "настроек", где это возможно. Например, если точка, стоящая за «локальным« элементом настроек »в Main», должна разрешить Main доступ к настройкам, правильный ответ для этого - сохранить настройки в объекте SharedPreferences и для Main использовать эти SharedPreferences. Использование PreferenceActivity дает пользователю преимущество в том, что он ожидает от предоставления настроек для приложения.

...