android 方法名为空,Android listFragment SetEmptyView 方法实现数据为空时的提示

我们知道在可以在ListFragment 中很方便的加载数据。因为Android为我们内置了一个listview,我们可以直接将数据绑定在上面。然而,当我们的应用中没有数据显示的时候,如何可以有效的提示用户或者让用户进行其他操作呢?

我们这里可以使用 setEmptyView(view)方法来实现。

具体代码如下

public class MylistFragment extends ListFragment{

public View onCreatView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){

View view = super.onCreateView(inflater, container,

savedInstanceState);

TextView emptyview = new TextView(getActivity());

emptyview.setText("数据为空");

ListView listview = (ListView)view.findViewById(android.R.id.list);

listview.setEmptyView(emptyview);

}

}

这里我动态创建了一个Textview 用来显示提示。然后使用Listview.setEmptyView(emptyview)方法绑定数据为空时的布局。运行后效果就有了。

但是我们有时候并不是仅仅只是提示用户而已,希望能有个丰富的界面来显示更多的内容。比如我们需要给用户一个按钮,让他进行其他操作。我们当然可以继续动态添加一个按钮,但是,我们有更好的方法,为什么不用呢?

因为我们继承的是ListFragment,所以,系统帮我们内置了ListView,当然我们也能使用自己的布局。

View view = inflater.inflate(R.layout.my_list, null, false); 用这句话替换super.onCreatView()方法。选择我们自己创建的布局文件。

my_list.xml

android:id="@+id/crime_list_layout_id"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

android:id="@id/android:list"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

然后,新建一个empty view empty_view.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:id="@+id/empty_layout">

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="数据为空"

android:textAppearance="?android:attr/textAppearanceLarge" />

android:id="@+id/button_add_data"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="添加数据"

android:layout_marginTop="40dp"/>

将建立好的empty_view 添加到当前布局

View emptyview = inflater.inflate(R.layout.empty_view, null, false);

设置按钮的单击事件

Button addDataButton = (Button)emptyview.findViewById(R.id.add_data);

addDataButton.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

addData();\\添加数据的具体实现

}

});

至此,运行之后,如果没有数据,就会加载empty_view.xml中的内容了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值