【问题标题】:adding footer to one of the ListFragments' listview automatically adds footer to another one将页脚添加到 ListFragments 的列表视图之一会自动将页脚添加到另一个
【发布时间】:2012-08-30 22:07:38
【问题描述】:

所以我的应用由两个ListFragments 组成。让我们称他们为ContentsList 和TextList。问题是当我像这样向ContentsList 的ListView 添加页脚时(在onActivityCreated() 方法中:

lv = getListView();
v = getActivity().getLayoutInflater().inflate(R.layout.add_new,
                null);
lv.addFooterView(v);

它也会自动为TextList ListView 的列表视图添加页脚。知道为什么会发生这种情况吗?

【问题讨论】:

  • 我们可以看看你的 getListView() 方法吗?我假设他们在同一个活动上?
  • 看,这个getListView()是一个ListFragment的标准方法。我的每个片段都扩展了这个 ListFragment。这就是问题第一部分的答案。
  • 尽管它确实是同一个活动——它是不同的片段和不同的 ListView。这是肯定的

标签: android android-listview android-fragments android-listfragment


【解决方案1】:

呜呼解决了。

问题是我的一个片段实际上被称为“ListFragment”,在某些时候我的片段和实际的 ListFragment 类混淆了,这导致了一个问题。

我从this tutorial 那里得到了这个想法,但似乎那个人已经把它调整得更好了。无论如何,我会在第一次打他的脸。

【讨论】:

    【解决方案2】:

    试试这个。我认为的问题是您在不同片段使用的单个活动中有两个带有@android:id/list 的布局。您可以做的是区分包含具有不同 ID 的列表视图的布局。

    然后

    LinearLayout layout = (LinearLayout)findViewbyId(R.id.contentslayout);
    
    Yourlistview = (ListVIew)layout.findviewbyid(R.id.list)
    

    如果这不起作用,那么您可能必须为每个列表视图设置不同的标签并使用 findViewbytag

    【讨论】:

    • 这么奇怪的东西。这两个片段使用相同的 ListView,但它们显示不同的内容并从不同的适配器膨胀。令人困惑的东西
    猜你喜欢
    • 2016-07-16
    • 2015-10-09
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多