我正在使用3个类来重用片段应该如何放置在屏幕中。 First类是通用抽象类,用于将片段添加到事务中。另外两个类是使用片段的实现来扩展抽象类。
头等舱:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
public abstract class SingleFragmentActivity extends FragmentActivity {
protected abstract Fragment createFragment();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction().add(R.id.fragment_container, fragment).commit();
}
}
}
第二课
import android.support.v4.app.Fragment;
public class CrimeActivity extends SingleFragmentActivity {
@Override
protected Fragment createFragment() {
return new CrimeFragment();
}
}
第3课
import android.support.v4.app.Fragment;
public class CrimeListActivity extends SingleFragmentActivity{
@Override
protected Fragment createFragment() {
return new CrimeListFragment();
}
}
使用上面的内容,我是否使用了getSupportFragmentManager()的相同引用;已经在抽象泛型类中定义,或者第二和第三类中的每一个都获得自己的引用。 Java如何真正起作用?
答案 0 :(得分:0)
我使用
getSupportFragmentManager();
的相同参考吗?
是的,这就是类继承在Java中的工作方式。 FragmentActivity#getSupportFragmentManager()
在所有类中都是相同的方法。