在Android Studio中,我选择了一个基于主/详细信息流的新项目。该项目应该按原样运作。现在我想扩展它。截至目前,只有单击列表中的项目时,才会显示详细信息片段中项目的内容。我希望应用程序启动时自动选择顶级项目。我以为我把ItemListFragment只是一个方法调用
@Override
public void onStart()
{
mCallbacks.onItemSelected(DummyContent.ITEMS.get(0).id);
}
初始化所有对象后,在生命周期中模拟点击。那失败了。这样做的最佳方式是什么?
答案 0 :(得分:0)
您可以通过以下代码选择第一个元素
yourListView.setSelection(0);
yourListView.getSelectedView().setSelected(true);
希望这会有所帮助。队友的欢呼声! :)
答案 1 :(得分:0)
您可以使用SharedPreferences。您可以在创建列表视图时将列表视图的第一项保存为首选项,然后稍后可以使用它。
答案 2 :(得分:-1)
您是否在onResume()中尝试过?我总是将它放在onResume()
中更新#1
您可以尝试我的方式来实施选择。通常我不会使用列表视图的选择。
1.在您的数据模型中,创建一个名为" selection"的布尔字段。
2.将数据应用到适配器时,设置第一个数据"选择"为真。
3.在你的适配器getView回调中,尝试处理你的数据"选择"如:
if (!dummyData.selection){
do something when not select....
}else{
do something when selected...
}
更新#2 将此代码放在ItemListFragment
中@Override
public void onResume() {
super.onResume();
mCallbacks.onItemSelected(DummyContent.ITEMS.get(0).id);
}