首页 > 代码库 > listview的使用与优化

listview的使用与优化

listview是一种常用的组件,用来列表展示数据,效果如下

技术分享

具体的思路是:

先有一个主布局文件,里面是一个listview,再有一个子布局文件,里面包含每行要显示的控件,比如本例中,3个textview和一个imageview。

然后把子布局放到主布局里显示。

具体代码及注释如下


com.yuanlp.studentsystemandroid.os.Bundleandroid.support.v7.app.AppCompatActivityandroid.view.LayoutInflaterandroid.view.Viewandroid.view.ViewGroupandroid.widget.BaseAdapterandroid.widget.EditTextandroid.widget.ImageViewandroid.widget.ListViewandroid.widget.TextViewcom.yuanlp.studentsystem.bean.StudentInfojava.util.ArrayListjava.util.Listcom.yuanlp.studentsystem.R.id.com.yuanlp.studentsystem.R.id.com.yuanlp.studentsystem.R.id.MainActivity AppCompatActivity {

    EditText EditText EditText ListView List<StudentInfo> (Bundle savedInstanceState) {
        .onCreate(savedInstanceState)setContentView(R.layout.)initView()}

    (){
        = (EditText) findViewById(R.id.)= (EditText) findViewById(R.id.)= (EditText) findViewById(R.id.)= (ListView) findViewById(R.id.)= ArrayList<StudentInfo>()(i=i<i++){
            StudentInfo student=StudentInfo()student.setId(i)student.setName(+i)student.setPhone(+i).add(student)}

        myAdapter myadapter=myAdapter().setAdapter(myadapter)}

    (View view){

    }

    myAdapter BaseAdapter {

        () {
            .size()}

        StudentInfo (position) {
            .get(position)}

        (position) {
            }

        View (positionView convertViewViewGroup parent) {
            ViewHolder holder=(convertView==){  holder=ViewHolder()View view=LayoutInflater.(MainActivity.).inflate(R.layout.)convertView= viewholder.= (TextView)convertView. findViewById()holder.= (TextView) convertView.findViewById()holder.= (TextView) convertView.findViewById()holder.= (ImageView) convertView.findViewById(R.id.)convertView.setTag(holder)}{
                holder= (ViewHolder) convertView.getTag()}


            holder..setOnClickListener(View.OnClickListener() {
                (View v) {

                    .remove().setAdapter(myAdapter())}
            })StudentInfo student=.get(position)holder..setText(student.getId()+)holder..setText(student.getName())holder..setText(student.getPhone())convertView}
    }

    ViewHolder{
        TextView TextView TextView ImageView }

}


本文出自 “YuanGuShi” 博客,请务必保留此出处http://cm0425.blog.51cto.com/10819451/1941671

listview的使用与优化