Android 获取列表项数据以更新父活动数据

Android 获取列表项数据以更新父活动数据,android,android-fragments,Android,Android Fragments,我在mainActivity中的listView中有三个tab片段。我希望在主活动的底部有一个视图,它不会受到片段转换的影响,但其中的数据必须随着列表项的数据更改而更新 我真的很困惑这种交流是如何运作的。如果这是一个明显的问题,我很抱歉。如果您能通过讽刺或其他方式提供帮助,我将不胜感激。让您的片段与主要活动进行交流非常简单。您所需要做的就是让MainActivity实现一个接口,并从您的任何片段调用其方法,以通知MainActivity某些更改 这将是您的主要活动: public class M

我在
mainActivity
中的
listView
中有三个
tab
片段。我希望在主活动的底部有一个视图,它不会受到片段转换的影响,但其中的数据必须随着列表项的数据更改而更新


我真的很困惑这种交流是如何运作的。如果这是一个明显的问题,我很抱歉。如果您能通过讽刺或其他方式提供帮助,我将不胜感激。

让您的片段与主要活动进行交流非常简单。您所需要做的就是让MainActivity实现一个接口,并从您的任何片段调用其方法,以通知MainActivity某些更改

这将是您的主要活动:

public class MainActivity extends Activity
        implements ArticleActionListener{

    public void onArticleAddedToBasket(Article article) {
        // Increment the value on the bottom view's total TextView,
        // with the price of the article added to basket
    }

    public void onArticleRemovedFromBasket(Article article) {
        // Decrement the value on the bottom view's total TextView,
        // with the price of the article removed from basket
    }
}
这将是您的界面:

public interface ArticleActionListener {
    public void onArticleAddedToBasket(Article article);
    public void onArticleRemovedFromBasket(Article article);
}
这就是你的片段:

public class ArticlesListFragment extends ListFragment {
    ArticleActionListener articleCallback;

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

        // This makes sure that the container activity has implemented
        // the callback interface. If not, it throws an exception
        try {
            articleCallback = (ArticleActionListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString() + " must implement ArticleActionListener");
        }
    }
}
现在,您可以从片段中的任何位置使用ArticleActionListener接口的方法,它们将在MainActivity中调用


让我知道它是否适用于您:D

使用自定义侦听器界面或otto总线当选项卡更改时,只需使用新数据更新列表数组并使用notifyDataSetChanged()