我正在使用Chris Bane"被弃用" Pull-to-Refresh库。一切都很好。我能做什么:
1。)当列表视图中有内容时,我可以进行刷新。我可以看到进度对话旋转和一切。
2。)首次加载应用程序时,如果没有数据/空列表视图,我可以显示空文本视图,我可以使用旋转进度条显示相同的拉动刷新。
但是我第二次进入这个列表视图(片段中的内容),空数据没有任何反应。无法进行刷新 - 进度对话框无法显示,甚至无法拉出布局。它只显示一个空文本(你不能再拉)。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ptr_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="#19000000"
android:dividerHeight="1dp"
android:fadingEdge="none"
android:fastScrollEnabled="false"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:descendantFocusability="blocksDescendants"
app:ptrDrawable="@drawable/ic_logo_blue"
app:ptrRotateDrawableWhilePulling="false"
app:ptrScrollingWhileRefreshingEnabled="false"
app:ptrHeaderBackground="#EEEEEE"
app:ptrRefreshableViewBackground="#F7F7F7"
android:smoothScrollbar="true" />
<TextView
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:text="Empty list"
android:gravity="center"
android:visibility="gone"/>
我也尝试用LinearLayout替换RelativeLayout,但问题仍然存在。
其他信息
不确定这些是否相关:
这里是Fragment's onCreateView()
的代码@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
result = (RelativeLayout)inflater.inflate(R.layout.listview, container, false);
listView = (PullToRefreshListView)result.findViewById(R.id.directoryList);
emptyTextView = (TextView)result.findViewById(R.id.emptyEventsView);
adapter = new ListViewAdapter(getActivity(), R.layout.listview_item, someList);
listView.setAdapter(adapter);
listView.setEmptyView(emptyTextView);
listView.setOnItemClickListener(this);
listView.setOnRefreshListener(this);
listView.post(new Runnable() {
@Override
public void run() {
listView.setRefreshing();
}
});
return result;
}
对不起,很长的帖子。任何帮助,将不胜感激。