记账本小程序改进之listview的引入
开学已经第三周了,虽然本学期的学习任务任然是Web开发,但殊途同源,个人还是对Android比较感兴趣。
之前的记账本小程序数据太多的话会出现数据冗余的错误,为了改进这一错误,
所以本周自学了List View这一控件。
- ListView
- 系统提供的可以显示多个item的控件
- 可以合理的展示界面
- 使用步骤
- 在布局xml文件声明listview控件
- 在Java代码里找到list view控件设置数据适配器
- getCount()确定list view中有多少个条目
- getView(int position)返回某个位置要显示的view对象
布局文件
<ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/lv"/>
MainActivaty
package com.fmd.listview; import android.app.Activity; import android.database.DataSetObserver; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends Activity { private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //查找视图 lv = findViewById(R.id.lv); //设置控制器 controller lv.setAdapter(new MyAdapter()); } //用来控制list view如何显示 private class MyAdapter extends BaseAdapter{ //控制listview里有多少个item条目 @Override public int getCount() { // TODO Auto-generated method stub return 100; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView tv = new TextView(MainActivity.this); tv.setText("我是文本:"+position); tv.setTextSize(24); return tv; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } } }