Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未调用Android Pull To Refresh onFresh方法_Java_Android_Pull To Refresh - Fatal编程技术网

Java 未调用Android Pull To Refresh onFresh方法

Java 未调用Android Pull To Refresh onFresh方法,java,android,pull-to-refresh,Java,Android,Pull To Refresh,我正在使用Johan Nilsson Android Pull刷新我的Android应用程序中的库。我遇到的问题是,onRefresh方法似乎没有被调用(因为没有显示我的日志),这是什么原因造成的,以及如何修复它 public class MyFragment extends RoboFragment implements ResponseListener<List<TimelineItem>>{ @InjectView (R.id.TwitterList)

我正在使用Johan Nilsson Android Pull刷新我的Android应用程序中的库。我遇到的问题是,onRefresh方法似乎没有被调用(因为没有显示我的日志),这是什么原因造成的,以及如何修复它

 public class MyFragment  extends RoboFragment implements ResponseListener<List<TimelineItem>>{

    @InjectView (R.id.TwitterList)  private PullToRefreshListView listView;
private List<TimelineItem> results;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) 
{
    return inflater.inflate(R.layout.fragment_timeline, container,false);
}


@Override
public void onViewCreated(View view, Bundle savedInstanceState) 
{
    super.onViewCreated(view, savedInstanceState);
    listView.setOnRefreshListener(new OnRefreshListener() {

        public void onRefresh() {
            Log.v("onRefresh", "done");
            new FetchNewData().execute("");

        }
    });

    TimelineTask request = new TimelineTask(getActivity());
    request.onResponseListener(this);

    request.execute(new String());
}


/**
 * Callback handler that is called
 * after data is fetched from server.
 * @author mario
 */
public void onComplete(List<TimelineItem> result)
{
    if (result != null && !result.isEmpty())
    {
        this.results = result;
        Collections.sort(results,Collections.reverseOrder());
        TimelineAdapter adapter = new TimelineAdapter(getActivity(),R.layout.fragment_timeline_item, results);
        listView.setAdapter(adapter);   

    }
    else
        Toast.makeText(getActivity(), "No Account! Available Please an Account", Toast.LENGTH_LONG).show();
}//end onComplete method




private class FetchNewData extends AsyncTask<String, Void,List<TimelineItem> >
{

    @Override
    protected void onPostExecute(List<TimelineItem> result) 
    {
        results.addAll(result);
        listView.onRefreshComplete();
        Log.v("onPostExecuted", "done");
    }

    @Override
    protected List<TimelineItem> doInBackground(String... params) 
    {
        Log.v("doInBackground", "done");
        Collections.sort(results);
        return results;
    }
}
公共类MyFragment扩展RoboFragment实现ResponseListener{
@InjectView(R.id.TwitterList)私有PullToRefreshListView listView;
私人名单结果;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态)
{
返回充气机。充气(R.layout.fragment_时间线,容器,假);
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态)
{
super.onViewCreated(视图,savedInstanceState);
setOnRefreshListener(新的OnRefreshListener(){
公共void onRefresh(){
Log.v(“onRefresh”、“done”);
new FetchNewData().execute(“”);
}
});
TimelineTask请求=新的TimelineTask(getActivity());
请求。onResponseListener(本);
执行(新字符串());
}
/**
*调用的回调处理程序
*从服务器获取数据之后。
*@作者马里奥
*/
未完成的公共void(列表结果)
{
if(result!=null&&!result.isEmpty())
{
这个结果=结果;
Collections.sort(results,Collections.reverseOrder());
TimelineAdapter=新的TimelineAdapter(getActivity(),R.layout.fragment\u timeline\u项,结果);
setAdapter(适配器);
}
其他的
Toast.makeText(getActivity(),“无帐户!请提供帐户”,Toast.LENGTH_LONG.show();
}//末端未完成法
私有类FetchNewData扩展异步任务
{
@凌驾
受保护的void onPostExecute(列表结果)
{
results.addAll(result);
onRefreshComplete();
Log.v(“onPostExecuted”、“done”);
}
@凌驾
受保护列表doInBackground(字符串…参数)
{
Log.v(“doInBackground”、“done”);
收集。排序(结果);
返回结果;
}
}

为什么要在
onViewCreated
中设置刷新侦听器而不是
onCreate
?因为我希望在创建视图后附加侦听器,但我不认为这就是为什么我会遇到这个问题的原因。这很好,但我认为您的实现过于复杂。不确定为什么要覆盖
onCreateView()
onViewCreated()
。我使用了这个库并在
onCreate()
中附加了侦听器,但从未遇到任何问题。我在一个框架内使用这个库