我在两个不同的活动中有两个“listviews”(即'activityA'和'activityB')。 'activityA'包含一个列表视图,其中包含从我的应用程序中的应用程序类获取的城市列表。我使用该课程设置并获取应用程序中所需的城市等列表。
现在,当我点击'activityA'中列表视图的某个项目时,我会转到下一个类,即'activityB'以及某些信息,例如“distance / lat / long等”。 'activityB'也有自己的列表视图,它也从我的应用程序类获得相同的城市列表等。现在,我对“activityB”中的项目应用了某些操作,并且列表视图中的项目被洗牌(根据我的需要。这里没问题)。
但是当我回到'classA'时,我没有以原始形式获取listview中的项目列表,而是以新的形式(即在activityB中的洗牌形式)获取它们。
现在我尝试了从设置适配器null到重新启动活动的所有内容。问题是当'activityA'开始时,它在开始时有以下代码。
cityList = ((SavedItems) this.getApplication()).getCityList();
countryList = ((SavedItems) this.getApplication()).getCountryList();
languageList = ((SavedItems) this.getApplication()).getLanguageList();
cityLatList = ((SavedItems) this.getApplication()).getLatList();
cityLongList = ((SavedItems) this.getApplication()).getLongList();
当我从'activityB'回到'activityA'时,这显然毫无用处。就好像我的“SavedItems”类中的项目已完全更改一样。在'activityB'中没有任何地方我正在更改/设置我的“SavedItems”类中的项目。所以'activityA'应该得到原始项目。但相反,它会在洗牌后显示“activityB”中显示的项目。
需要帮助! 如果需要,我也可以发布代码。