今天学习了关于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; } } ); }