一,在主界面创建ListView控件
<ListView android:id="@+id/listView" android:layout_width="wrap_content" android:layout_height="wrap_content" ></ListView>
二.创建XMl布局文件,控件根据个人布局
<ImageView android:id="@+id/iv_icon" android:layout_width="60dp" android:layout_height="60dp" /> <TextView android:id="@+id/tv_title" android:layout_toRightOf="@+id/iv_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv_des" android:layout_below="@+id/tv_title" android:layout_toRightOf="@+id/iv_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" />
三,创建Bean类
public class News { private String title; private String des; private int resId; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } public int getResId() { return resId; } public void setResId(int resId) { this.resId = resId; } public News(String title, String des, int resId) { this.title = title; this.des = des; this.resId = resId; } public News() { super(); } }
4,在主类中查找控件,创建数据存入集合中并适配
public class MainActivity extends AppCompatActivity { private ListView listview; private ArrayList<News> newsList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); listview.setAdapter(new NewsAdapter(newsList,this)); } private void initView() { //查找控件 listview = (ListView) findViewById(R.id.listView); newsList = new ArrayList<News>(); for(int i=0;i<1000;i++){ newsList.add(new News("今天王宝强shi"+i,"信息量非差大,网民停止",R.drawable.a)); } } }
5,创建适配器的类
public class NewsAdapter extends BaseAdapter { private ArrayList<News> newsList; private Context context; public NewsAdapter(ArrayList<News> newsList, Context context) { this.newsList = newsList; this.context = context; } @Override public int getCount() { return newsList.size(); } @Override public Object getItem(int i) { return newsList.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View convertView, ViewGroup viewGroup) { ViewHolder viewHolder; if (convertView==null){ convertView = View.inflate(context, R.layout.lv_item, null); viewHolder=new ViewHolder(); viewHolder.iv_icon= convertView.findViewById(R.id.iv_icon); viewHolder.tv_title= convertView.findViewById(R.id.tv_title); viewHolder.tv_des= convertView.findViewById(R.id.tv_des); convertView.setTag(viewHolder); }else { viewHolder= (ViewHolder) convertView.getTag(); } viewHolder.tv_title.setText(newsList.get(i).getTitle()); viewHolder.tv_des.setText(newsList.get(i).getTitle()); viewHolder.iv_icon.setImageResource(newsList.get(i).getResId()); return convertView; } class ViewHolder{ TextView tv_title; TextView tv_des; ImageView iv_icon; } }