1: 首先创建 2个 xml ;
一个ListView的布局(显示的视图); 一个item布局(文字 ,图片);
2代码:
public class MainActivity extends Activity {
//创建数据源
//文字的
String[] wx={"标题1","标题2","标题3","标题4"};
//图片的
int[] resIds={R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置标题
this.setTitle("BaseAdapter for ListView");
//找到控件
ListView ListView = (ListView)findViewById(R.id.listview);
//设置适配器 并且把数据放入适配器中
ListView.setAdapter(new ListViewAdapter(wx,resIds));
//点击条目的事件
ListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
//视图中的那个条目 对应相应的方法
if(arg2==0){
Exit();
}
}
});
}
//适配器 继承 BaseAdapter
public class ListViewAdapter extends BaseAdapter{
View[] itemViews;
//遍历 资源
public ListViewAdapter(String[] itemTitles, int[] itemImageRes) {
itemViews = new View[itemTitles.length];
for (int i = 0; i < itemViews.length; i++) {
itemViews[i] = makeItemView(itemTitles[i],
itemImageRes[i]);
}
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemViews.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return itemViews[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
return itemViews[position];
return convertView;
}
}
private View makeItemView(String strTitle, int resId) {
LayoutInflater inflater = (LayoutInflater) MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 使用View的对象itemView与R.layout.item关联
View itemView = inflater.inflate(R.layout.list, null);
// 通过findViewById()方法实例R.layout.item内各组件
//文字
TextView title = (TextView) itemView.findViewById(R.id.wx);
title.setText(strTitle);
//图片
ImageView image = (ImageView) itemView.findViewById(R.id.tt);
image.setImageResource(resId);
//放回视图
return itemView;
}
//这是一个方法
public void Exit() {
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setMessage("确定要退出吗?");
builder.setTitle("提示");
builder.setPositiveButton("确认",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
//AccoutList.this.finish();
//System.exit(1);
android.os.Process.killProcess(android.os.Process.myPid());
}
});
builder.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
}
一个ListView的布局(显示的视图); 一个item布局(文字 ,图片);
2代码:
public class MainActivity extends Activity {
//创建数据源
//文字的
String[] wx={"标题1","标题2","标题3","标题4"};
//图片的
int[] resIds={R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//设置标题
this.setTitle("BaseAdapter for ListView");
//找到控件
ListView ListView = (ListView)findViewById(R.id.listview);
//设置适配器 并且把数据放入适配器中
ListView.setAdapter(new ListViewAdapter(wx,resIds));
//点击条目的事件
ListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
//视图中的那个条目 对应相应的方法
if(arg2==0){
Exit();
}
}
});
}
//适配器 继承 BaseAdapter
public class ListViewAdapter extends BaseAdapter{
View[] itemViews;
//遍历 资源
public ListViewAdapter(String[] itemTitles, int[] itemImageRes) {
itemViews = new View[itemTitles.length];
for (int i = 0; i < itemViews.length; i++) {
itemViews[i] = makeItemView(itemTitles[i],
itemImageRes[i]);
}
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemViews.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return itemViews[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
return itemViews[position];
return convertView;
}
}
private View makeItemView(String strTitle, int resId) {
LayoutInflater inflater = (LayoutInflater) MainActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// 使用View的对象itemView与R.layout.item关联
View itemView = inflater.inflate(R.layout.list, null);
// 通过findViewById()方法实例R.layout.item内各组件
//文字
TextView title = (TextView) itemView.findViewById(R.id.wx);
title.setText(strTitle);
//图片
ImageView image = (ImageView) itemView.findViewById(R.id.tt);
image.setImageResource(resId);
//放回视图
return itemView;
}
//这是一个方法
public void Exit() {
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setMessage("确定要退出吗?");
builder.setTitle("提示");
builder.setPositiveButton("确认",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
//AccoutList.this.finish();
//System.exit(1);
android.os.Process.killProcess(android.os.Process.myPid());
}
});
builder.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
}