zoukankan      html  css  js  c++  java
  • android: ListView设置emptyView 误区

    使用ListVIew 来设置EmptyView的时候须注意:

    ListView listview = (ListView) findViewById(R.id.list);
            View emptyView = findViewById(R.id.empty);
            ViewGroup parentView = (ViewGroup) listview.getParent();
            parentView.addView(emptyView, 2); // 一定要将EmptyView添加到ListView的ParentView上,不然无效果
            listview.setEmptyView(emptyView)

    如果你直接在XML中包含了emptyView,那么也就不需要再额外添加到Viewhierarchy中了,因为它已经在那儿了。

    例:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
    
    
        <View
            android:layout_width="match_parent"
            android:layout_height="45dip"
            android:background="#CCC"
            />
    
        <ListView
            android:id="@+id/lv_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:cacheColorHint="@android:color/transparent"
            />
    
        <TextView
            android:id="@+id/tv_empty_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="No Data"
            android:textColor="@android:color/black"
            android:visibility="visible"
            />
    
    </LinearLayout>
    ListViewApiUseDemoActivity.java

    package com.yongdaimi.android.androidapitest;
    
    import android.os.Bundle;
    import android.os.Handler;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Gravity;
    import android.view.ViewGroup;
    import android.view.ViewParent;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.TextView;
    
    public class ListViewApiUseDemoActivity extends AppCompatActivity {
    
    
        private ListView lv_list;
        private TextView tv_empty_view;
    
        private ArrayAdapter<String> arrayAdapter;
    
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_listview_api_use_demo);
            initView();
    
           /* tv_empty_view = new TextView(this);
            tv_empty_view.setText("No Data");
            tv_empty_view.setGravity(Gravity.CENTER);
            ViewGroup viewGroup = (ViewGroup) lv_list.getParent();
            viewGroup.addView(tv_empty_view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    */
            lv_list.setEmptyView(tv_empty_view);
            String[] emptyData = new String[]{};
            arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, emptyData);
            lv_list.setAdapter(arrayAdapter);
    
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    String[] data = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
                    arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, data);
                    lv_list.setAdapter(arrayAdapter);
                }
            }, 1500);
    
    
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    String[] data = {};
                    arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, data);
                    lv_list.setAdapter(null);
                }
            }, 4500);
    
        }
    
        private void initView() {
            lv_list = findViewById(R.id.lv_list);
             tv_empty_view = findViewById(R.id.tv_empty_view);
        }
    
    }
    
    
  • 相关阅读:
    “猫癣”集团借IE7新漏洞再掀风浪 狼人:
    研究人员在黑帽安全大会演示SSL攻击 狼人:
    猫癣病毒“躲猫猫” 移师广东东莞月入百万 狼人:
    Adobe两款软件存在缺陷 黑客可控制用户PC 狼人:
    安全观点:遭遇数据泄露破坏 损失的不只是金钱 狼人:
    McAfee报告称七成手机制造商认为手机安全至关重要 狼人:
    微软表示本月将发布五个Windows 7更新 狼人:
    Gmail电子邮件曝全球性故障 谷歌向用户道歉 狼人:
    Google Talk被黑客利用 发动钓鱼攻击 狼人:
    谷歌GMail邮件服务出现故障 部分服务已恢复 狼人:
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/11050886.html
Copyright © 2011-2022 走看看