简单篇
.java代码
package com.example.day8;
import java.util.ArrayList;
import java.util.List;
import android.R.anim;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private ListView listview;
private ArrayAdapter<String> adapt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview=(ListView) findViewById(R.id.listView);
// listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); //设置选中模式(多选)
// adapt= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,
// getData());
listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE); //设置选中模式(单选)
adapt= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,
getData());
listview.setAdapter(adapt);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Toast.makeText(MainActivity.this,adapt.getItem(position),1).show();
}
});
}
private List<String> getData() {
List<String> list= new ArrayList<String>();
for(int i=1;i<=30;i++)
list.add("jack"+i);
//return new String[]{"谢柳","谢峰","张帅","黄宇成"};
return list;
}
}
.xml代码
<?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="vertical" >
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/list"/>
</LinearLayout>
复杂篇
.java代码:
package com.example.day8;
import java.util.ArrayList;
import java.util.List;
import android.R.anim;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class listview extends ActionBarActivity {
private ListView listview;
private MyAdapter adapt; //自定义适配器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
listview=(ListView) findViewById(R.id.listView);//实例化列表
adapt= new MyAdapter(this, getData());//实例化适配器
listview.setAdapter(adapt);
}
private List<listmodel> getData() {
List<listmodel> list=new ArrayList<listmodel>();
listmodel model = new listmodel();
model.setId(R.drawable.ic_launcher);
model.setName("谢柳");
model.setDiscription("我是帅哥");
list.add(model);
return list;
}
}
package com.example.day8;
import java.util.List;
import com.example.day8.*;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView.FindListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter {
private List<listmodel> mdata;
private Context con;
public MyAdapter(Context context,List data){
this.mdata=data;
this.con=context;
}
// 决定了列表item显示的个数
@Override
public int getCount() {
// TODO Auto-generated method stub
return mdata.size();
}
// 根据position获取对应item的数据
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mdata.get(position);
}
// 根据position获取对应item的ID
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
// 创建列表item视图
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView=View.inflate(con, R.layout.list, null);
//获取item对应的数据
listmodel model=mdata.get(position);
//初始化View
ImageView imageview1=(ImageView) convertView.findViewById(R.id.imageView1);
TextView textview1=(TextView) convertView.findViewById(R.id.TextView1);
TextView textview2=(TextView) convertView.findViewById(R.id.TextView2);
//绑定数据到View
imageview1.setImageResource(model.getId());
textview1.setText(model.getName());
textview2.setText(model.getDiscription());
return convertView;
}
}
package com.example.day8;
public class listmodel {
private int id;
private String name;
private String description;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDiscription() {
return description;
}
public void setDiscription(String discription) {
this.description = discription;
}
}