Android Master Detail Flow-仅在平板电脑上的列表中选择第一项

Android Master Detail Flow-仅在平板电脑上的列表中选择第一项,第1张

概述我创建了一个新应用,它依赖于默认的“MasterDetailFlow”模板,该模板是在AndroidStudio的“新建项目…”对话框中选择的.然后,我根据自己的需求和数据对应用程序进行了调整.在掌上电脑和平板电脑上像魅惑一样工作.我要实现的唯一一件事就是自动选择列表中的第一项,显示详细信

我创建了一个新应用,它依赖于默认的“ Master Detail Flow”模板,该模板是在Android Studio的“新建项目…”对话框中选择的.然后,我根据自己的需求和数据对应用程序进行了调整.在掌上电脑和平板电脑上像魅惑一样工作.

我要实现的唯一一件事就是自动选择列表中的第一项,显示详细信息视图并将列表项设置为选中状态.

在“ ItemListFragment”中,我在覆盖的“ onStart()”方法中调用了“ onListItemClick(…)”方法.这具有以下行为:

>旋转设备时,列表中的第一项被选中(而不是先前选择的项)
>列表项未在列表中标记为已选中

有人可以为我指出如何实现这一目标的正确方向.因为我只希望在“平板电脑模式”下出现此行为,所以我想我必须将其放入ItemListActivity?

谢谢

编辑:这是我的“ ItemListActivity”的“ onCreate”方法

protected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_item_List);    if (findVIEwByID(R.ID.item_detail_container) != null) {        mTwoPane = true;        ((ItemListFragment) getFragmentManager()                .findFragmentByID(R.ID.item_List))                .setActivateOnItemClick(true);    }}

解决方法:

您可以通过删除ItemListFragment的onStart(…)中的onListItemClick(…)调用,然后将其添加到setActivateOnItemClick(…)的末尾来解决此问题:

    // If on dual-pane vIEw, pre-select the first item from the chapter List    if (activateOnItemClick && mActivatedposition == ListVIEw.INVALID_position) {        getListVIEw().performItemClick(getListVIEw(), 0, getListVIEw().getItemIDAtposition(0));    }

另外,如果在ItemListFragment的onListItemClick(…)中尚不存在这行代码,则:

    mActivatedposition = position;

请昨天从我的GH存储库中的这些提交中检查文件ChapterListFragment上的差异,以获取我的解决方案的更多上下文-https://github.com/floydpink/BhagavadGita/compare/047de35c39f01c6341a7f677aa5b7cc47a7144a3…b1b45d15cd68290e2ebe909ca920bd7aefd2805e#diff-1

希望这可以帮助

总结

以上是内存溢出为你收集整理的Android Master Detail Flow-仅在平板电脑上的列表中选择第一项全部内容,希望文章能够帮你解决Android Master Detail Flow-仅在平板电脑上的列表中选择第一项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1078219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存