gpt4 book ai didi

android - 动态改变ViewpagerIndicator Fragment Content Android

转载 作者:行者123 更新时间:2023-11-29 21:55:12 26 4
gpt4 key购买 nike

我正在使用 viewpagerindicator 开发一个应用程序。

在我具有 viewpagerindicator 的主要 Activity 中,我分拆了一个执行一些计算并更新该 Activity 的实例变量 mString 的线程。我想用 mString 更新 viewpagerindicator 中的 fragment 。但是,我似乎无法找出到达 fragment 的最佳方法。

有没有人知道任何好的样本可以做类似的事情?

最佳答案

在您的 Fragment 中创建一个回调对象,并将其注册到您的 FragmentActivity 中。如果 FragmentActivity 中已经设置了 mString,那么你可以立即通过回调返回它,否则,当计算线程完成时,它可以通过回调返回字符串。回调方法应该做 Fragment 需要对字符串做的任何事情,例如设置 TextView 的文本。

例如创建一个名为 DynamicDataResponseHandler 的接口(interface),如下所示:

public interface DynamicDataResponseHandler {
public void onUpdate(Object data);
}

然后在您的 Fragment 中,按如下方式实现该接口(interface):

private class MyStringDataResponseHandler implements DynamicDataResponseHandler {
@Override
public void onUpdate(Object object) {
mYourTextView.setText((String)object);
}
}

然后您的 Fragment 可以在其 onCreate 中实例化一个 MyStringDataResponseHandler 对象,通过 FragmentActivity 中的方法将其传递给 FragmentActivity,例如:

private MyStringDataResponseHandler mMyStringDataResponseHandler;

public void registerMyStringDataResponseHandler (DynamicDataResponseHandler callback) {
mMyStringDataResponseHandler = callback;
if(mString != null) {
mMyStringDataResponseHandler.onUpdate(mString);
}
}

无论在你的 Handler 中你获取 mString 的值,做这样的事情:

if(mMyStringDataResponseHandler != null) {
mMyStringDataResponseHandler.onUpdate(mString);
}

阅读一些有关回调概念的文章,以更好地理解我在上面所做的事情以及您可以使用它们的其他方式。

关于android - 动态改变ViewpagerIndicator Fragment Content Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378264/

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