2017-07-02 85 views
0

This is what I have in mind获取列表项数据更新父活动数据

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

我真的很困惑这种沟通是如何工作的。如果这是一个明显的问题,我很抱歉。我会很感激任何通过讽刺或任何方式的帮助。

+0

使用自定义的监听器接口或奥托总线 –

+0

当你的标签只是改变与更新新的数据列表数组,并使用notifyDataSetChanged() – Anil

回答

0

让您的片段与主要活动进行交流非常简单。所有你需要做的就是让你的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