首页 > 解决方案 > 从与 ViewPager 连接的片段获取数据到 Activity 的问题

问题描述

请看图片,我有一个 Activity,我使用 ViewPager 将 3 个片段连接到它。在每个片段中,我需要从位于片段中的 EditText 获取数据,因此当用户单击 Activity 上的下一个按钮时,它必须检查 EditText 是否为空,然后在片段中的 Edittext 上是否为 null setError。我不知道我应该使用什么技术,我尝试了 EventBus 和 Interfaces 但我没有成功。请指导我......

Edittext 在片段中

标签: androidandroid-activityandroid-edittextandroid-viewpagerfragment

解决方案


首先,从 Viewpager 获取当前片段,然后从活动中调用该片段方法。在片段中,您将获得该方法调用并检查您的编辑文本验证并从那里设置错误。

像这样,

if(viewPager.getCurrentItem() == 0) {
      FragmentClass1 frag1 = (FragmentClass1)viewPager
                        .getAdapter()
                        .instantiateItem(viewPager, viewPager.getCurrentItem());
      frag1.checkValidation(); 
} else if(viewPager.getCurrentItem() == 1) {
      FragmentClass2 frag2 = (FragRecentApps)viewPager
                        .getAdapter()
                        .instantiateItem(viewPager, viewPager.getCurrentItem());
      frag2.checkValidation();
}

推荐阅读