0
This is what I have in mind获取列表项数据更新父活动数据
我有listView
内部的三个tab
片段这是一个mainActivity
内。我希望在主要活动的底部有一个不受片段转换影响的视图,但其内部的数据必须随着列表项的数据更改而更新。
我真的很困惑这种沟通是如何工作的。如果这是一个明显的问题,我很抱歉。我会很感激任何通过讽刺或任何方式的帮助。
This is what I have in mind获取列表项数据更新父活动数据
我有listView
内部的三个tab
片段这是一个mainActivity
内。我希望在主要活动的底部有一个不受片段转换影响的视图,但其内部的数据必须随着列表项的数据更改而更新。
我真的很困惑这种沟通是如何工作的。如果这是一个明显的问题,我很抱歉。我会很感激任何通过讽刺或任何方式的帮助。
让您的片段与主要活动进行交流非常简单。所有你需要做的就是让你的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
使用自定义的监听器接口或奥托总线 –
当你的标签只是改变与更新新的数据列表数组,并使用notifyDataSetChanged() – Anil