ListView控件

    xiaoxiao2022-07-05  179

    功能:实现数据条目显示,就像QQ联系人那样排列。 设备:电脑一台、Android Studio软件一个。 技术:xml布局、ListView控件的使用。

    效果图: 在Android 开发中ListView是一个比较常用的控件,它以列表的形式展示具体数据内容,当数据过多时会出现滚动条,并且能够根据数据的长度来适应屏幕显示。

    在使用ListView时需要进行数据适配,这样界面才会显示数据。在进行数据适配时会用到数据适配器,所谓的适配器就是数据和视图之间的一个桥梁,可以理解为一个转换器,将杂乱的数据条理清晰的展示给用户。

    常用的适配器有:BaseAdapter、SimpleAdapter、ArrayAdapter使用方法都大同小异。 下面我们亲看详细内容: 创建两个xml,一个是ListView一个是item 下面请看代码: 1.activity_main.xml <?xml version="1.0" encoding="utf-8"?>

    <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> </LinearLayout>

    2.list_item.xml

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

    <ImageView android:id="@+id/item_image" android:layout_width="48dp" android:layout_height="48dp" android:layout_margin="10dp" android:background="@drawable/qq"/> <TextView android:id="@+id/item_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我是ListView的item布局" android:textSize="18dp"/>

    3.MainActivity.java

    public class MainActivity extends AppCompatActivity { //适配䣌数据 private String names[] = {"京东商城","QQ","QQ斗地主","新浪微博","天猫","UC浏览器","微信"}; //适配䣌图片,与前面的数据对应 private int icons[] = {R.drawable.jd,R.drawable.qq,R.drawable.dz,R.drawable.xl,R.drawable.tm,R.drawable.uc,R.drawable.wx}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化ListView ListView mListView = (ListView)findViewById(R.id.lv); //创建一个适配器实例 MyBaseAdapter myBaseAdapter = new MyBaseAdapter(); //设置适配器 mListView.setAdapter(myBaseAdapter); } //定义适配器类 class MyBaseAdapter extends BaseAdapter{ //获得item的总数 @Override public int getCount() { //返回ListView item的条目总数 return names.length; } //获得item代表的对象 @Override public Object getItem(int position) { //返回ListView item条目代表的对象 return names[position]; } //得到item的id @Override public long getItemId(int position) { //返回ListView item的id return position; } //得到item的View视图 @Override public View getView(int position, View convertView, ViewGroup parent) { //将list_item文件找到并转为view对象 View view = View.inflate(MainActivity.this,R.layout.list_item,null); //放文字的地方 TextView mTextView = (TextView)view.findViewById(R.id.item_tv); mTextView.setText(names[position]); //放图片的地方 ImageView mimageView = (ImageView)view.findViewById(R.id.item_image); mimageView.setBackgroundResource(icons[position]); return view; } } }

    就这么简单!欢迎一起交流,评论或关注给我最大的支持。

    最新回复(0)