2012-07-14 77 views
1

我有一个活动与各种TABS和其中之一有一个单选模式ListView,这是与SimpleCursorAdapter填充。Android Listview单一选择保持项目选择

Cursor c = db.listaPessoas(APRESENTACAO); 
startManagingCursor(c); 
SimpleCursorAdapter sca = new SimpleCursorAdapter(formPessoa.this,android.R.layout.select_dialog_singlechoice, c, new String[] {"nome"}, new int[] {android.R.id.text1}); 
pessoasInseridas.setAdapter(sca); 
sca.notifyDataSetChanged(); 

问题是,当我切换到另一个选项卡并取回具有ListView控件,ListView中的所选项目不再被选中(绿色亮点从单选按钮消失)的标签。我怎样才能保持ListView上的项目的状态?

回答

1

试试这个

listView.setSelection(i); // ex: i=5 
+0

这应该在onResume上完成吧? – 2012-07-17 14:19:47

+0

嗯,最好在onResume做 – MAC 2012-07-17 14:26:39

1

这是因为Android不状态存储列表视图中以节省内存。在标签之间切换时,列表视图会“重新绘制”。你必须做的是更新数据库并刷新listview绑定的游标。这必须在列表视图中选择复选框后立即完成