【发布时间】:2018-02-13 11:12:31
【问题描述】:
我有一个简单的 Activity,其中包含 TabLayout、ViewPager 和 2 个片段。这是我的活动:
public class ManagementCompanyOverviewActivity extends BaseActivity implements ManagementCompanyOverviewView {
private ManagementCompanyVPAdapter mVPAdapter;
private TabLayout mTLContent;
private ViewPager mVPContent;
@InjectPresenter
ManagementCompanyPresenter mPresenter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_management_company);
mVPAdapter = new ManagementCompanyVPAdapter(getSupportFragmentManager());
mTLContent = (TabLayout) findViewById(R.id.tl_company_content);
mVPContent = (ViewPager) findViewById(R.id.vp_company_content);
mVPContent.setAdapter(mVPAdapter);
mTLContent.setupWithViewPager(mVPContent);
}
@Override
public void onAboutCompanyInfoReceivedFromServer(AboutCompanyViewModel model) {
}
Activity 有一个 Presenter(我正在使用 Moxy),Presenter 发送请求,获取答案,创建 JavaObject(视图模型)并使用 getViewState() 将此模型传递给 Activity。我需要将此模型从 Activity 传递给我的一个 Fragment。
Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_about_company, container, false);
mTVName = (TextView) view.findViewById(R.id.tv_company_name);
mTVDirector = (TextView) view.findViewById(R.id.tv_company_director);
mTVWebsite = (TextView) view.findViewById(R.id.tv_company_website);
mTVEmail = (TextView) view.findViewById(R.id.tv_company_email);
mTVPhone = (TextView) view.findViewById(R.id.tv_company_phone);
mTVSchedule = (TextView) view.findViewById(R.id.tv_company_schedule);
mTVAddress = (TextView) view.findViewById(R.id.tv_company_address);
return view;
}
这个片段有一些 TextViews 来显示来自我的模型的信息。如何通过这个模型?如果我知道正确,我应该创建一个侦听器,但是如何?我不完全了解如何使用它们。
【问题讨论】:
标签: android android-viewpager fragment listener