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()