实际上我必须应用两个功能,第一个是拉动刷新视图,第二个是动画可扩展子列表视图。
当我点击列表项的按钮时,布局会从上到下再次出现,当我点击此按钮时,此布局会自下而上。我可以在ExpanableCells项目中看到这个功能。
我还需要在用户滚动列表视图时,我的列表会刷新。
对于这两个功能,我有两个项目PullToRefreshView库和ExpandableCells项目,但开发人员都以不同的方式应用ListView,我无法同时使用它们。我只能用它们。
任何人都申请他们,请帮助我。或者我必须从基地实施这两个。
答案 0 :(得分:0)
你可以使用android提供的SwipeRefreshlayout,你需要支持库:android.support.v4.widget.SwipeRefreshLayout
您也可以像这样编写xml布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.expandablelistviewwithpultoreferesh.MainActivity" >
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ExpandableListView
android:id="@+id/lvExp"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
在MainActivity中,
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;
private SwipeRefreshLayout swipeLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
swipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
swipeLayout.setOnRefreshListener(this);
swipeLayout.setColorScheme(android.R.color.holo_blue_bright,
android.R.color.holo_green_light,
android.R.color.holo_orange_light,
android.R.color.holo_red_light);
// get the listview
expListView = (ExpandableListView) findViewById(R.id.lvExp);
让你的活动实现OnRefreshListener并添加未实现的方法,即
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
swipeLayout.setRefreshing(false);
}
}, 5000);
}
实施的源(教程): 可扩展的ListView: - http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/
SwipeRefreshlayout: - http://antonioleiva.com/swiperefreshlayout/
注意:如果你想要一个动画的Expandable listView,请确保你有一个更新的Android SDK,你可以尝试这个只扩展ExpandableListview的库https://github.com/idunnololz/AnimatedExpandableListView