当我旋转屏幕时,片段将与活动分离。但是,我的片段中有一个侦听器,它在按下按钮后运行 asynctask。这很好用。因此,当页面更改时,我正在寻找在没有按钮的情况下直接执行相同操作的方法。
在我的 MainActivity 我有一个 onPageChangeListener 看起来像这样:
@Override
public void onPageSelected(int position)
{
// TODO Auto-generated method stub
currentSelectedFragmentPosition = position;
frag.onPageVisible(currentSelectedFragmentPosition);
frag2.onPageVisible(currentSelectedFragmentPosition);
}
然后在我的片段中,onPageVisible 函数是这样的:
public void onPageVisible(int position)
{
tabstrippos = position;
if (MainActivity.selected[0])
{
if (tabstrippos == pageNumber)
{
mainActivity = getContext();
if (totalItems < 3)
{
if (isAdded())
{
startNewAsyncTask();
}
else
{
Log.w("tag", "its not added");
}
}
}
}
}
这在旋转后转到 else ,因为活动已分离
我正在谈论的监听器来自我使用gitHub的 gitHub 类 ,在我的片段中看起来像这样:
onStart()
{
....
((PullToRefreshListView) getListView()).setOnRefreshListener(new OnRefreshListener()
{
@Override
public void onRefresh()
{
// Do work to refresh the list here.
startNewAsyncTask();
}
});