gpt4 book ai didi

android - 如何动态更新 View 寻呼机项目标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:32 25 4
gpt4 key购买 nike

我有一个简单的消息传递应用程序模块。其中,有两个可滑动的选项卡。接收和发送。假设我有 20 条消息,其中 10 条未读。所以我正在做的是将选项卡显示为已收到 - (10)。现在,当我阅读邮件时,它会将邮件标记为已读。所以我想将标题从 Received - (10) 更改为 Received - (9)。

请告诉我该怎么做?

这是我正在使用的代码。

@Override
public int getCount() {
return 2;
}

@Override
public CharSequence getPageTitle(int position) {

if (position == 0) {
// if position is zero, set the title to RECEIVED.
return "Received" + " (" + String.valueOf(intUnreadReceivedMessagesCount) + ")";
} else {
// if position is 1, set the title to SENT.
return "Sent";
}
}

我正在使用 Pager Sliding Tab Strip 作为 Pager Tab 库。 https://github.com/astuetz/PagerSlidingTabStrip

我尝试过使用 notifyDataSetChanged(),但由于显而易见的原因,它没有调用它。任何解决问题的方法。也欢迎任何更好的替代方法来显示和更新计数。

谢谢。

最佳答案

这只是一个猜测,没有看到您的其余代码。

notifyDataSetChanged() 应该有效,但有一个技巧。您必须在适配器中重写一个方法:

public int getItemPosition(Object item) {
return POSITION_NONE;
}

通过这种方式调用 notifyDataSetChanged() 将更新当前可见的页面及其邻居。

没有它,只会更新新页面。

更新

我查看了链接库。与适配器一样,有一个公共(public)方法 notifyDataSetChanged()。因此,只需在 XML 中为该 PagerSlidingTabStrip 分配一个 id,并在您的代码中获取一个引用。然后调用:

adapter.notifyDataSetChanged();
tabStrip.notifyDataSetChanged();

关于android - 如何动态更新 View 寻呼机项目标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25191191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com