在片段中以横向模式保存对象

时间:2014-04-22 15:55:22

标签: android android-fragments fragmentpageradapter

我正在开发一个Android项目,但是我在fragmentpageradapter中使用了片段的问题,它是视图寻呼机的适配器

我有以下代码,我试图在每个页面上显示Writer信息(作家是一个arraylist的成员)

它在普通屏幕上工作正常,但当手机模式改变为横向时,由#"空指针异常引起的程序崩溃"因为编写器更改为NULL(为什么?)

private Writer writer;

public WriterForm()
{
}

public void setWriter(Writer writer)
{
    this.writer = writer;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    View rootView = inflater.inflate(R.layout.writer_list_methods, container, false);

    // Name
    TextView wName = (TextView) rootView.findViewById(R.id.writer_list_methods_writer_name);
    wName.setTypeface(DefaultActivity.font, Typeface.BOLD);
    wName.setText(" " + writer.getName());
}

那我怎么能解决这个问题?

提前感谢:))

1 个答案:

答案 0 :(得分:1)

问题在于,每次按chnage方向时,都会重新创建片段,即空指针的来源。

溶液:

你可以阻止它横向添加到你的活动清单android:screenOrientation =" portrait"

如果你希望像活动的生命周期一样生活片段,你需要添加setRetainInstance(true)