【发布时间】:2015-11-02 12:42:05
【问题描述】:
我使用 android web 上的代码示例创建了选项卡视图。 http://developer.android.com/training/implementing-navigation/lateral.html
我已添加此代码来调用设置标题的 setTitle 方法。
mViewPager.addOnPageChangeListener(
new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
FragmentInterface f = (FragmentInterface) mSectionsPagerAdapter
.getItem(position);
f.setTitle();
}
});
在我的片段类中,我将 setTitle 定义为
@Override
public void setTitle() {
System.out.println("Title " + cellMain);
if (cellMain != null) {
getActivity().getActionBar()
.setTitle(cellMain.cellData.getIPWithPort());
}
}
我还有一个按钮:
public void connect(View view) {
System.out.println("Connect " + cellMain);
if (cellMain == null) {
cellMain = CellMain.createAndroid(this,
getActivity().getFilesDir().toString());
getActivity().getActionBar()
.setTitle(cellMain.cellData.getIPWithPort());
}
首先我点击调用connect的按钮, 它打印出预期的“Connect null”,因为它尚未初始化。
再次按下按钮打印出“Connect cell.CellMain@....”。
现在我通过选择另一个选项卡并切换回同一个选项卡来更改视图。
setTitle() 方法打印出“Title null”,这是在 cellMain 初始化时不期望出现的。按下按钮仍然会打印出“Connect cell.CellMain@....”
为什么我的 setTitle 方法给我的变量一个空值?
【问题讨论】:
标签: android tabs android-fragmentactivity