【发布时间】:2013-06-13 11:07:16
【问题描述】:
我有一个Activity1,它启动Activity2。 Activity2 有一个列表,其中显示了数据库中的一些值。
当Activity2 首次启动时,列表会显示正确的信息,但如果我按下返回按钮然后再次启动Activity2,它会从数据库中正确加载信息,但不会显示在列表中。
从Activity1开始Activity2的代码:
final Intent int2 = new Intent(getActivity(), CombinationsManagerActivity.class);
MyActivity.insertSomeExtraInfoToTheIntent(int2, currentEmployee.id);
getActivity().startActivity(int2);
Activity2 列表代码是这样的(我在活动向服务器注册时调用它(在 onResume 之后)):
private void fillList() {
list = (ListView) findViewById(R.id.list_combinations);
ZKEmployeeLoginCombination combinations = ZKEmployeeLoginCombination.selectLoginCombinationsByEntityID(this, idEmployee);
LoginCombinationsListAdapter adapter = new LoginCombinationsListAdapter(this, combinations, enrolledTypes);
list.setAdapter(adapter);
}
另外,Activity2 清单声明:
<activity
android:name="com.blabla.android.app.employeemanagementv3.CombinationsManagerActivity"
android:label="@string/combinations_manager" >
</activity>
任何帮助将不胜感激。
【问题讨论】:
-
我真的不知道为什么会发生这种情况,但是如果你在第二个活动中按下后退按钮时调用完成()怎么办?你试过吗?
-
你在哪里调用了这个方法 fillList() 。
-
另一种可能是Activity2每次都在同一个任务中打开。建议在清单中添加
android:launchMode="singleTop" -
嗨@Opiatefuchs,谢谢你的回答,我试过了,但结果是一样的:通话结束并再次开始活动后,它不显示列表
-
@Sam 当我收到来自服务器的连接时,我在 onResume() 之后调用了 fillList()
标签: android android-listview android-activity