精华内容
下载资源
问答
  • 主要介绍了Android ListView填充数据方法的相关资料,大多数实现这样的功能都是使用XML文件,这里就说下不使用布局文件如何实现,需要的朋友可以参考下
  • BaseAdapter给LIstview填充数据

    千次阅读 2019-04-08 09:58:09
    使用BaseAdapter比较简单,主要是通过继承此类来实现BaseAdapter的四个方法: public int getCount(): 适配器中数据集的数据个数; public Object getItem(int position): 获取数据集中与索引对应的数据项; public ...

    BaseAdapter

    使用BaseAdapter比较简单,主要是通过继承此类来实现BaseAdapter的四个方法:

    public int getCount(): 适配器中数据集的数据个数;

    public Object getItem(int position): 获取数据集中与索引对应的数据项;

    public long getItemId(int position): 获取指定行对应的ID;

    public View getView(int position,View convertView,ViewGroup parent): 获取没一行Item的显示内容。

    1.创建布局文件baseadapter.xml

    <?xml version="1.0" encoding="utf-8"?>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_weight="1.12" >
    
    </ListView>
    
    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    
    <TextView
        android:id="@+id/says"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    
    <ImageView
        android:id="@+id/imgtou"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />
    

    2.Animal.java

    public class Animal {
    private String aName;
    private String aSpeak;
    private int aIcon;

    public Animal() {
    }
    
    public Animal(String aName, String aSpeak, int aIcon) {
        this.aName = aName;
        this.aSpeak = aSpeak;
        this.aIcon = aIcon;
    }
    ......get、set方法
    

    3.AnimalAdapter.java
    package com.example.baseadapter;

    import java.util.LinkedList;

    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;

    public class AnimalAdapter extends BaseAdapter {

    	    private LinkedList<Animal> mData;
    	    private Context mContext;
    
    	    public AnimalAdapter(LinkedList<Animal> mData, Context mContext) {
    	        this.mData = mData;
    	        this.mContext = mContext;
    	    }
    
    	    @Override
    	    public int getCount() {
    	        return mData.size();
    	    }
    	    @Override
    	    public Object getItem(int position) {
    	        return null;
    	    }
    	    @Override
    	    public long getItemId(int position) {
    	        return position;
    	    }
    	    @Override
    	    public View getView(int position, View convertView, ViewGroup parent) {
    	    
    	    //通过LayoutInflater的from方法,可以将布局文件转换成一个View对象convertView
    	    	convertView = LayoutInflater.from(mContext).inflate(R.layout.baseadapter,parent,false);
    	    	//将convertView中的布局的id转换成Java中的对象。
    	        ImageView img_icon = (ImageView) convertView.findViewById(R.id.imgtou);
    	        TextView txt_aName = (TextView) convertView.findViewById(R.id.name);
    	        TextView txt_aSpeak = (TextView) convertView.findViewById(R.id.says);
    	        //通过各种set方法修改对象的属性
    	        img_icon.setBackgroundResource(mData.get(position).getaIcon());
    	        txt_aName.setText(mData.get(position).getaName());
    	        txt_aSpeak.setText(mData.get(position).getaSpeak());
    	        return convertView;
    	        
    	    }
    

    }
    4.package com.example.baseadapter;

    import java.util.LinkedList;
    import java.util.List;

    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;

    import android.widget.ListView;

    public class MainActivity extends Activity {

    private List<Animal> mData = null;
    

    private Context mContext;
    private AnimalAdapter mAdapter = null;
    private ListView list_animal;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.baseadapter);

        mContext = MainActivity.this;
        list_animal = (ListView) findViewById(R.id.listView1);
        mData = new LinkedList<Animal>();
        mData.add(new Animal("鲁迅", "《呐喊》", R.drawable.ic_launcher));
        mData.add(new Animal("朱自清", "《春》", R.drawable.ic_launcher));
        mData.add(new Animal("徐志摩", "《再别康桥》", R.drawable.ic_launcher));
        mData.add(new Animal("老舍", "骆驼祥子", R.drawable.ic_launcher));
        mData.add(new Animal("巴金", "家", R.drawable.ic_launcher));
        mAdapter = new AnimalAdapter((LinkedList<Animal>) mData, mContext);
        list_animal.setAdapter(mAdapter);
    }
    

    }

    5.,AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.baseadapter.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190408095747358.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE3NDUzNg==,size_16,color_FFFFFF,t_70)
    展开全文
  • 为了给ListView提供数据,我们需要为其设置一个适配,我们可以从BaseAdapter继承,然后重写它的getView方法,这个方法中有一个参数convertView,我们可以将它设置为我们自定义的视图并返回,来实现加载用代码定义好...

    因为多人开发,为了是自己开发的模块方便融合到主框架中,同时也为了减小apk的大小,要求尽可能少的使用xml的布局文件,开发中需要在ListView中显示数据,网上查到的几乎所有的示例,都是通过xml文件来为ListView的Item提供布局样式,甚是不方便。

    能不能将自己通过代码创建的布局(如View,LinearLayout)等动态的布局到ListView呢?当然可以。

    为了给ListView提供数据,我们需要为其设置一个适配,我们可以从BaseAdapter继承,然后重写它的getView方法,这个方法中有一个参数convertView,我们可以将它设置为我们自定义的视图并返回,来实现加载用代码定义好的布局。

    定义一个LinearLayout布局,它是继承自View的,所以可以通过getView返回(注意:不要为这个布局使用 LinearLayout.LayoutParams 参数,因为ListView不识别,他识别的是AbsListView LayoutParams

    代码如下:

    public class PriceBoard extends LinearLayout {
        private ListView listView;
        private List items;
        private LinearLayout.LayoutParams params;
        public PriceBoard(Context context, AttributeSet attrs) {
            super(context, attrs);
            items = new ArrayList();
            this.setOrientation(HORIZONTAL);
            params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
            listView = new ListView(context);
            listView.setLayoutParams(params);
            PriceBoardAdapter priceBoardAdapter = new PriceBoardAdapter(context);
            listView.setAdapter(priceBoardAdapter);
            addView(listView, params);
        }
        public void add(PriceData data){
            PriceBoardItem item = new PriceBoardItem(this.getContext(),null);
            item.setItem(data);
            items.add(item);
            params.setMargins(10,0,0,2);
    //        item.setLayoutParams(params);
        }
        public PriceBoardItem getItemView(int index){
            return (PriceBoardItem)items.get(index);
        }
        private class PriceBoardItem extends LinearLayout{
            private TextView nameView;
            private TextView enCodeView;
            private TextView priceView;
            private PriceData priceData;
            public PriceBoardItem(Context context, AttributeSet attrs) {
                super(context, attrs);
                this.setOrientation(HORIZONTAL);
                nameView = new TextView(context);
                nameView.setTextSize(TypedValue.COMPLEX_UNIT_PX,38);
                enCodeView = new TextView(context);
                enCodeView.setTextSize(TypedValue.COMPLEX_UNIT_PX,28);
                priceView = new TextView(context);
                priceView.setTextSize(TypedValue.COMPLEX_UNIT_PX,48);
                priceView.setGravity(Gravity.CENTER);
                setLayout();
            }
            public TextView getNameView(){
                return nameView;
            }
            public TextView getEnCodeView(){
                return enCodeView;
            }
            public TextView getPriceView(){
                return priceView;
            }
            public PriceData getPriceData(){
                return priceData;
            }
            private void setLayout(){
                LayoutParams p = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT,1);
                LinearLayout linearLayout = new LinearLayout(getContext());
                linearLayout.setOrientation(VERTICAL);
                linearLayout.addView(nameView,p);
                linearLayout.addView(enCodeView,p);
                addView(linearLayout, p);
    
                p = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT,1);
                linearLayout = new LinearLayout(getContext());
                linearLayout.setOrientation(VERTICAL);
                linearLayout.addView(priceView,p);
                addView(linearLayout, p);
            }
            public void setItem(PriceData data){
                priceData = data;
            }
        }
        private class PriceBoardAdapter extends BaseAdapter{
            private Context _context;
            public PriceBoardAdapter(Context context){
                _context = context;
            }
            public int getCount(){
                return items.size();
            }
            public Object getItem(int position) {
                return position;
            }
    
            @Override
            public long getItemId(int position) {
                return position;
            }
    
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                PriceBoardItem view = getItemView(position);
                PriceData data = ((PriceBoardItem) items.get(position)).getPriceData();
                view.getNameView().setText(data.getName());
                view.getEnCodeView().setText(data.getEnCode());
                view.getPriceView().setText(String.valueOf(data.getPrice()));
                convertView = view;
                return convertView;
            }
        }

    调用:

            PriceBoard priceBoard = new PriceBoard(context,null);
            priceData = new PriceData();
            priceData.setName("现货白银");
            priceData.setEnCode("Ag");
            priceData.setPrice(4006);
            priceBoard.add(priceData);
            priceData = new PriceData();
            priceData.setName("现货铜");
            priceData.setEnCode("Cu");
            priceData.setPrice(43895);
            priceBoard.add(priceData);
            priceData = new PriceData();
            priceData.setName("现货镍");
            priceData.setEnCode("Ni");
            priceData.setPrice(43895);
            priceBoard.add(priceData);
            addView(priceBoard);

    效果:


    展开全文
  • } // todo ----------> 数据填充 viewHolder.imageModel.setBackgroundResource(img[position]); viewHolder.text.setText(str[position]); viewHolder.text.setOnClickListener(new View.OnClickListener() { @...

    1: 编写我们布局文件的代码:
    在这里插入图片描述

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    
    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
    </ListView>
    
    </LinearLayout>
    

    java的文件:
    在这里插入图片描述

        package com.example.myapplication;
    
                import androidx.appcompat.app.AppCompatActivity;
    
                import android.content.Intent;
                import android.os.Bundle;
                import android.view.LayoutInflater;
                import android.view.View;
                import android.view.ViewGroup;
                import android.widget.BaseAdapter;
                import android.widget.Button;
                import android.widget.ImageView;
                import android.widget.ListView;
                import android.widget.Toast;
    
        public class MainActivity extends AppCompatActivity {
            // todo------------> 成员变量
            private ListView listview;
    
           // todo 创建我们的数组
            private int[] img = new int[]{
                // 在我们的这个位置的话是我们的先关的适配器
                R.mipmap.one, R.mipmap.two, R.mipmap.three,
           };
    
            private  String[] str = new String[]{
                    "按钮1","按钮2","按钮3"
            };
    
    
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                initData();
            }
    
            private void initData() {
    
                // todo -----------> 找到我们的id
                listview = (ListView) findViewById(R.id.listview);
                // todo -------------》 在我们的这个位置的话就是创建我们的相关的适配器
                MyAdapter myAdapter = new MyAdapter();
                listview.setAdapter(myAdapter);
                setOnClick(new OnClick() {
                    @Override
                    public void itemOnClick(int pos) {
                        // todo ----------> 点击事件
                        Intent intent;
                        switch (pos){
                            case 0:
                                intent = new Intent(MainActivity.this, SecondActivity.class);
                                Toast.makeText(MainActivity.this, "跳转成功", Toast.LENGTH_SHORT).show();
                                break;
                            case 1:
                                intent = new Intent(MainActivity.this, SecondActivity.class);
                                Toast.makeText(MainActivity.this, "跳转成功", Toast.LENGTH_SHORT).show();
                                break;
                            case 2:
                                intent = new Intent(MainActivity.this, SecondActivity.class);
                                Toast.makeText(MainActivity.this, "跳转成功", Toast.LENGTH_SHORT).show();
                                break;
    
                            default:
                                throw new IllegalStateException("Unexpected value: " + pos);
                        }
                        // todo ------------> 开启页面跳转
                       startActivity(intent);
                    }
    
    
                });
            }
            //todo -----------> 这个是我们的的适配器继承我们的baseadapter
            private class MyAdapter extends BaseAdapter {
    
    
                @Override
                public int getCount() {
                    return img.length;
                }
    
                @Override
                public Object getItem(int position) {
                    return img[position];
                }
    
                @Override
                public long getItemId(int position) {
                    return position;
                }
    
                @Override
                public View getView(final int position, View convertView, ViewGroup parent) {
                    ViewHolder viewHolder;
                    if(convertView == null){
                        convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.list_model,null);
                        viewHolder = new ViewHolder();
                        viewHolder.imageModel = (ImageView) convertView.findViewById(R.id.image_model);
                        viewHolder.text = (Button) convertView.findViewById(R.id.text);
                        convertView.setTag(viewHolder);
                    }else {
                        viewHolder = (ViewHolder) convertView.getTag();
                    }
                    // todo ----------> 数据填充
                    viewHolder.imageModel.setBackgroundResource(img[position]);
                    viewHolder.text.setText(str[position]);
                    viewHolder.text.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            onClick.itemOnClick(position);
                        }
                    });
                    return convertView;
                }
            }
            class ViewHolder{
                 ImageView imageModel;
                 Button text;
    
    
    
    
            }
        //  todo ------------》创建我们的接口
            public  interface  OnClick{
                void itemOnClick(int pos);
        }
            private OnClick onClick;
    
            public void setOnClick(OnClick onClick) {
                this.onClick = onClick;
            }
        }
    

    第二个跳转页面的文件:
    在这里插入图片描述

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:orientation="vertical"
        tools:context=".SecondActivity">
        <TextView
            android:textColor="@color/colorPrimaryDark"
            android:textSize="50px"
            android:textStyle="italic"
            android:gravity="center"
            android:text="我是跳转的页面"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
        </TextView>
    </LinearLayout>
    

    java文件及代码:
    在这里插入图片描述

    package com.example.myapplication;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    
    public class SecondActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_second);
        }
    }
    

    布局的xml文件:
    在这里插入图片描述

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/image_model"
            android:layout_width="200px"
            android:layout_height="200px"
            android:layout_margin="10dp"
            android:scaleType="fitXY"
            android:src="@mipmap/one">
    
        </ImageView>
    
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button
                android:id="@+id/text"
                android:text="我是一个按钮"
                android:layout_margin="20dp"
                android:layout_gravity="center_vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>
        </LinearLayout>
    </LinearLayout>
    
    展开全文
  • 在Android开发中,ListView是我们最常用但也是最难用的控件,这一篇将介绍ListView的最简单用法。 一、在布局文件中加入LIstView控件。新建activity_my_list_view.xml文件,代码如下 activity_my_list_view.xml文件...

    在Android开发中,ListView是我们最常用但也是最难用的控件,这一篇将介绍ListView的最简单用法。

    一、在布局文件中加入LIstView控件。新建activity_my_list_view.xml文件,代码如下


    activity_my_list_view.xml文件

    <?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">
    
        <ListView
            android:id="@+id/list_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </ListView>
    </LinearLayout>
    

    二、准备要显示的数据。一般ListView中填充的数据都来源于网路下载或者数据库,此处使用数组来模拟。

    private String[] data = {"Apple", "Orange", "Pear", "Cherry"};

    三、构造适配器对象。

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

    ArrayAdapter()有多个构造函数,上面的构造函数依次为 当前上下文、ListView子项布局的id(上面的android.R.layout.simple_list_item_1是Android定义的子项布局,是一个最简单的TextView)、要适配的数据。

    获取ListView并设置适配器。

    ListView listView = (ListView) findViewById(R.id.list_view);
    listView.setAdapter(adapter);

    至此,ListView的简单用法就介绍完了。
    效果图如下:
    这里写图片描述

    展开全文
  • 获取一组数据,我们应该如何填充ListView 1.这里由一组联系人数据(联系人名和个人头像) 2.将这组数据传进适配器,同时适配器也知道为每一个数据项构建列表项视图 3.因此适配器可以进一步为它们创建...
  • 使用SimpleAdapter和自定义Adapter分别实现了ListView填充,自定义的还添加了一个删除的事件。
  • 这一文件主要解决listview数据填充问题,这里可以填充不同的数据,根据个人需求进行填充,还有里面另外一个类是用来下载网络图片的并有进度条显示下载多少
  • wpf ListView数据居中

    2021-03-01 11:54:23
    1.ListView数据居中 <ListView.ItemContainerStyle> <Style TargetType="{x:Type ListViewItem}"> <Setter Property="HorizontalContentAlignment" Value="Center" /> </Style> </...
  • 转:...一、ListView: 1、 ListView通常有两个职责: 1、向布局填充数据 2、处理选择点击等操作 2、ListView的创建需要3个元素: 1、 ListView中的每一列的View。 2、 填入View的数
  • 第一步先layout文件的布局添加一个id 第二步在activity里通过代码拿到布局再添加控件 第三步根据布局的属性来控制方位 提示:如果添加的控件覆盖了原来的控件,看谁在上面,这里拿按钮做例子,添加的按钮在上面...
  • c#往listview添加数据

    千次阅读 2019-07-17 11:58:06
    ListViewItem item = new ListViewItem(); //先实例化ListViewItem这个类 item.Text = "1"; //添加第1列内容 item.SubItems.Add("2"); //添加第2列内容 ...
  • ListView填充多个item

    2017-06-02 17:32:39
    之前走了不少弯路,尝试了用列表保存view,getView()中添加判断的方式,都行不通,后来发现挺简单的class ViewHolderLeft { public ImageView image; public TextView time, name, content; } ...
  • 1.5动态填充布局 显示数据 ListView 自定义 AdapterView的视图 在AdapterView(ListView、GridView)没有数据时显示自定义视图 目录 1.5.1初步认识ListView 1.5.2用ArrayAdapter实现视图填充 1.5.3在...
  • C# 向ListView中添加多列数据方法

    万次阅读 2016-01-19 10:40:47
    private void button1_Click_1(object ... 方法1(交错数组,简单说是数组的数组) string[][] xxx = new string[10][]; xxx[0] = new string[] { "1", "2", "3" ,"4"};
  • 最简单的界面布局,就只一个ListView  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent" >    android:id="@+id/test_lv
  • listview数据填充有三种方法,这里我就
  • winform 添加listview数据

    2020-06-24 16:56:15
    private System.Windows.Forms.ListView lst; //Winform中定义的ListView private void btnAdd_Click(object sender, EventArgs e) ... item.SubItems[0].Text = "第1列的数据"; item.SubItems.Add...
  • Android ListView绑定数据

    千次阅读 2018-07-26 12:37:27
    List服务一般有4种绑定方法: 本文使用自定义适配器继承BaseAdapter来实现数据绑定,废话不说,直接上代码: 1.自定义适配器:ShoppingProductAdapter package com.example.msh.ModelInfo.Adapter; import ...
  • Flutter使用ListView加载列表数据

    万次阅读 2018-10-25 14:21:15
    移动端UI展示最常见的展示形式莫过于列表,Android中使用ListView/Recyclerview,iOS也有...本文数据采用爬虫爬取华尔街见闻全球资讯,然后采用GraphQL接口请求数据。显示效果如下 实现 创建ListView 及每个显示的...
  • 在开发WinCE6.0程序的时候,要把DataTable的数据显示到ListView控件上,无法使用绑定, 只能使用循环遍历。 思路:外循环遍历行,内循环遍历列 //DataTable:dt2 //ListView:listView1,控件上要添加列...
  • class MainActivity : BaseActivity(){ var mDataList = mutableListOf<User>();//相当于创建一个空的集合 lateinit var adapter : MyAdapter override fun onCreate(savedInstanceState: Bundle?...
  • 今天逛官网翻文档无意间发现了android:entries属性,其他作用是在布局文件里直接就可以为listview和spinner填充数据,而不用写一句java代码 废话不多说上代码 MainActivity.java :主activity里没有写任何填充数据...
  • Android 解析JSON数据填充Listview

    千次阅读 2016-09-23 22:57:24
    JSON代码格式化:... 用GSON处理JSON数据:http://www.cnblogs.com/VinC/archive/2011/02/25/Use-GSon-Hand-JsonData-For-Android-Device.html 新浪微博开发Json解析:http://www.cnblogs.co
  • 清空listview数据

    万次阅读 2017-03-24 10:19:22
    listView.setAdapter(null);//清空之后,新数据貌似加不进来了。 2、方法二:  listAdapter.clear(); //没有clear方法需要在adapter容器中定义 //清空数据列表 public void clear() {  mContactsList.clear...
  • 源代码。 关键字:,listview
  • 今天写了个小demo,从网络请求获取后台的数据,在Listview 展示数据。我们来看看这个简单的demo界面效果:简单粗暴的直接上代码吧!import React, {Component} from 'react'; import { StyleSheet, ListView, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,355
精华内容 6,542
关键字:

给listview填充数据的方法