<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.listviewzy.MainActivity" > <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout>
<?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" android:orientation="horizontal" > <ImageView android:id="@+id/Iv" android:layout_width="70dp" android:layout_height="70dp" /> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="70dp" android:layout_marginLeft="10dp" android:gravity="center_vertical" android:textSize="25dp" /> </LinearLayout>
package com.example.listviewzy; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ListView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lv = (ListView) findViewById(R.id.lv); ArrayList<String> datas = new ArrayList<String>(); datas.add("京东商城");datas.add("QQ");datas.add("QQ斗地主");datas.add("新浪微博"); datas.add("天猫");datas.add("UC浏览器");datas.add("微信"); ArrayList<Integer> imgdatas = new ArrayList<Integer>(); imgdatas.add(R.drawable.a1);imgdatas.add(R.drawable.a2);imgdatas.add(R.drawable.a3); imgdatas.add(R.drawable.a4);imgdatas.add(R.drawable.a5);imgdatas.add(R.drawable.a6); imgdatas.add(R.drawable.a7); MyAdapter adapter = new MyAdapter(datas,imgdatas); lv.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.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(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
package com.example.listviewzy; import java.util.ArrayList; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class MyAdapter extends BaseAdapter { private ArrayList<String> mData; private ArrayList<Integer> mImgdatas; public MyAdapter(ArrayList<String> datas, ArrayList<Integer> imgdatas) { // TODO Auto-generated constructor stub mData = datas; mImgdatas = imgdatas; } class ViewHolder{ TextView lv; ImageView Iv; public TextView tv; } @Override public int getCount() { // TODO Auto-generated method stub return mData.size(); } @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; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder = null; if(convertView==null) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); convertView =inflater.inflate(R.layout.lv_asd, null); holder = new ViewHolder(); holder.tv = (TextView) convertView.findViewById(R.id.tv); holder.Iv = (ImageView) convertView.findViewById(R.id.Iv); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } holder.Iv.setBackgroundResource(mImgdatas.get(position)); holder.tv.setText(mData.get(position)); return convertView; } }