2020/2/13学习总结

今天学习了关于ListView控件的基础知识

1.ListView:在Android中,其实ListView就相当于web中的jsp,Adapter是适配器,它就相当于web中的Servlet,Adapter的作用就是把数据展示在Listview中

2.在xml文件中定义ListView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/costlist"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    tools:context=".OneActivity"


    <ListView
        android:id="@+id/list1"
        android:layout_width="150dp"
        android:layout_height="match_parent" />


</LinearLayout>

2.定义item.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">

    <TextView
        android:id="@+id/text1"
        android:layout_width="150dp"
        android:layout_height="100dp" />

    <TextView
        android:id="@+id/text2"
        android:layout_width="150dp"
        android:layout_height="100dp" />

    <TextView
        android:id="@+id/text3"
        android:layout_width="150dp"
        android:layout_height="100dp" />
</LinearLayout>

3.建立activity文件,用adapter把数据更改为能被界面显示的数据,然后用ListView读取并显示。

listView=(ListView)findViewById(R.id.list1);
       listView.setAdapter(new BaseAdapter() {
           @Override
           public int getCount() {
               return mcostBeenList.size();
           }

           @Override
           public Object getItem(int position) {
               return null;
           }

           @Override
           public long getItemId(int position) {
               return 0;
           }

           @Override
           public View getView(int position, View convertView, ViewGroup parent) {
               View view;
               /**对ListView的优化,convertView为空时,创建一个新视图;
                * convertView不为空时,代表它是滚出,
                * 放入Recycler中的视图,若需要用到其他layout,
                * 则用inflate(),同一视图,用fiindViewBy()
                * **/
               if (convertView == null) {
                   LayoutInflater inflater = OneActivity.this.getLayoutInflater();
                   view = inflater.inflate(R.layout.iteam, null);
                   //view = View.inflate(getBaseContext(),R.layout.item,null);
               } else {
                   view = convertView;
               }
               costBeen costBeen = mcostBeenList.get(position);
               TextView money = (TextView)view.findViewById(R.id.text1);
               TextView beizhu = (TextView)view.findViewById(R.id.text2);
               TextView data = (TextView)view.findViewById(R.id.text3);

               money.setText(String.valueOf(costBeen.getMoney()));
               beizhu.setText(costBeen.getBeizhu());
               data.setText(costBeen.getData());
                       return view;
           }
           } );
   }

猜你喜欢

转载自www.cnblogs.com/wangzhaojun1670/p/12308535.html