0

当我旋转屏幕时,片段将与活动分离。但是,我的片段中有一个侦听器,它在按下按钮后运行 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();
        }
    });
4

1 回答 1

1

没有像其他系统那样的循环,在这里,一旦你改变布尔值,你必须调用一些方法来响应它。

于 2014-03-20T08:28:29.593 回答