ListView setEmptyView
2016-06-01 13:54
387 查看
今天偶然间看到AbsListView.setEmptyView,我感到很有必要探究一下,因为在做项目的时候,没有数据时需要展示一个友情提示页面,都是自己根据是否有数据控制ListView的显示与隐藏,现在看来是不需要啦。
没有什么好讲的内容,做了一个小Demo,大家感受一下吧
没有什么好讲的内容,做了一个小Demo,大家感受一下吧
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal"> <Button android:id="@+id/btn_show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Set Data" /> <Button android:id="@+id/btn_hidden" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="clear Data" /> </LinearLayout> <ListView android:layout_above="@+id/ll" android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"></ListView> </RelativeLayout>
public class MainActivity extends Activity implements View.OnClickListener { List<String> dataList; ArrayAdapter<String> arrayAdapter; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView emptyList = new TextView(this); emptyList.setBackgroundColor(Color.parseColor("#00ffff")); emptyList.setText("The list is empty"); ListView mListView = (ListView) findViewById(R.id.list); ((ViewGroup) mListView.getParent()).addView(emptyList, mListView.getLayoutParams()); findViewById(R.id.btn_hidden).setOnClickListener(this); findViewById(R.id.btn_show).setOnClickListener(this); mListView.setEmptyView(emptyList); dataList = new ArrayList<>(); for (int j = 0; j < 2; j++) { dataList.add("" + j); } arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line); mListView.setAdapter(arrayAdapter); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_hidden: { arrayAdapter.clear(); break; } case R.id.btn_show: { arrayAdapter.addAll(dataList); break; } } }
参考地址
http://stackoverflow.com/questions/16862172/setemptyview-on-listview-not-working相关文章推荐
- 三种禁用FileSystemObject组件的方法
- 用vbs列出机器上所有能调用的组件
- 剖析ASP.NET MVC的DependencyResolver组件
- asp水印组件之AspJpeg的结合代码实例
- Node.js编写组件的三种实现方式
- Bootstrap表单组件教程详解
- JS上传组件FileUpload自定义模板的使用方法
- 适用于WebForm Mvc的Pager分页组件C#实现
- js组件SlotMachine实现图片切换效果制作抽奖系统
- Android搜索框组件SearchView的基本使用方法
- 浅析Bootstrap缩略图组件与警示框组件
- 第九章之路径分页标签与徽章组件
- JS组件Bootstrap ContextMenu右键菜单使用方法
- JavaScript资源预加载组件和滑屏组件的使用推荐
- 浅谈Sticky组件的改进实现
- 编写轻量ajax组件01-与webform平台上的各种实现方式比较
- Ajax核心XMLHTTP组件资料第1/2页
- JS组件系列之Bootstrap Icon图标选择组件
- jQuery Chart图表制作组件Highcharts用法详解
- jQuery技巧之让任何组件都支持类似DOM的事件管理