【发布时间】:2021-01-17 14:41:07
【问题描述】:
我正在使用寻呼机适配器,我想从活动中调用片段方法。我尝试使用回调接口,但我得到空指针异常,因为 Fragment fragment = new Fragment() 没有调用该片段的 onCreate() 。有什么想法我应该怎么做?这是我的代码:
主活动:
public interface Communicator {
void passStatus(String status);
}
private Communicator communicator;
public void setCommunicator(Communicator communicator)
{
this.communicator = communicator;
}
@Override
protected void onPause() {
super.onPause();
if(communicator != null)
{
communicator.passStatus("STOP");
}
}
@Override
protected void onResume() {
super.onResume();
if(communicator != null)
{
communicator.passStatus("START");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabLayout = findViewById(R.id.tabBar);
viewPager = findViewById(R.id.viewPager);
Fragment fragment = new Fragment();
setCommunicator(new Communicator() {
@Override
public void passStatus(String status) {
if(status == "START")
{
fragment.Start();
}
else if(status == "STOP")
{
fragment.Stop();
}
}
});
PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
pagerAdapter.addFragment(fragment, "Some fragment");
pagerAdapter.addFragment(new AnotherFragment(), "Another fragment");
viewPager.setAdapter(pagerAdapter);
tabLayout.setupWithViewPager(viewPager);
}
【问题讨论】:
标签: java android android-studio android-fragments