Android:重用在另一个活动中存储为本地变量的活动

时间:2011-03-27 17:54:33

标签: android android-activity reusability

我的Android 2.1应用程序中有两项活动。

第一个是主要活动,提供触摸互动的视图。

第二个是“设置”活动,提供调整Main中使用的参数的设置。

我目前在Main类中有一个Settings活动,作为一个类实例。我在Main中读取了此实例的设置。

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

public class Settings extends Activity implements ListAdapter {
}

我已经发现如果已经创建了如何重用我的Settings活动,只确保一个持久化实例:

// 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 个答案:

答案 0 :(得分:2)

  

我目前在Main类中有一个Settings活动,作为类实例。

立即删除 。一个活动不应该持有另一个活动,因为这会导致内存泄漏。我向您保证,对于您认为以这种方式解决的任何问题,都有更好的解决方案。

  

我的问题是我无法发现如何将其与Main中的本地“设置”成员联系起来。

删除“Main中的本地'设置'成员”,此问题就会消失。

此外,请尽可能使用SharedPreferencesPreferenceActivity收集“设置”。例如,如果“Main中的本地'设置'成员”后面的点是允许Main访问设置,那么正确的答案是将设置存储在SharedPreferences对象中并Main使用SharedPreferences。使用PreferenceActivity可以为用户提供他们在为应用程序提供设置时所期望的外观。