简单的listview实现

来源:互联网 发布:淘宝购买叶罗丽娃娃 编辑:程序博客网 时间:2024/05/01 14:22

先写listview的布局文件
我用的是Android Studio,由于activty_main.xml中有
<include layout="@layout/content_main" />
这行代码,所以我是在content_main.xml文件中添加代码
<ListView android:id="@+id/lv_main" android:layout_width="match_parent"
android:layout_height="wrap_content" />

然后在layout目录下新建一个xml文件listitem,代码如下

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <ImageView            android:id="@+id/img"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />        <TextView            android:id="@+id/tv"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="id"            android:textSize="20sp"/>        <TextView            android:id="@+id/info"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="info"            android:textSize="20sp"/>    </LinearLayout></LinearLayout>

然后创建一个Java文件ListViewAdapter

package com.example.listview;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import java.util.Objects;public class ListViewAdapter extends BaseAdapter{    private LayoutInflater mInflater=null;    public ListViewAdapter(Context menuActivity){        mInflater=LayoutInflater.from(menuActivity);    }    public int getCount(){        return 5;    }    public Objects getItem(int arg0){        return null;    }    public long getItemId(int arg0){        return arg0;    }    public View getView(int arg0,View arg1,ViewGroup arg2){        int i=arg0+1;        ViewHolder holder;        if(arg1==null){            arg1=mInflater.inflate(R.layout.listitem,null);            holder=new ViewHolder();            holder.img=(ImageView)arg1.findViewById(R.id.img);            holder.title=(TextView)arg1.findViewById(R.id.tv);            holder.info=(TextView)arg1.findViewById(R.id.info);            arg1.setTag(holder);        }        else{            holder=(ViewHolder) arg1.getTag();        }        holder.img.setImageResource(R.mipmap .ic_launcher);        holder.title.setText("第"+i+"行");        holder.info.setText("2015-10-31");        return arg1;    }    public class ViewHolder{        public ImageView img;        public TextView title;        public TextView info;    }}

最后在MainActivity.java

package com.example.listview;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.view.Menu;import android.view.MenuItem;import android.widget.ListView;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ListView listView= ((ListView) findViewById(R.id.lv_main));        listView.setAdapter(new ListViewAdapter(this));    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}
0 0
原创粉丝点击