Android BaseAdapter使用总结

来源:互联网 发布:淘宝id是名字还是账号 编辑:程序博客网 时间:2024/05/21 17:09
BaseAdapter ba = new BaseAdapter() {


@Override
public int getCount() {
// TODO Auto-generated method stub
return resultArray.length;
}


@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}


@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}


@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
LayoutInflater layoutInflater = MainActivity.this
.getLayoutInflater();
arg1 = layoutInflater.inflate(R.layout.adapter_template, null);


TextView sno = (TextView) arg1
.findViewById(R.id.adapter_template_sno);
sno.setText(resultArray[arg0][0].toString());


TextView sname = (TextView) arg1
.findViewById(R.id.adapter_template_sname);
sname.setText(resultArray[arg0][1].toString());


TextView gread = (TextView) arg1
.findViewById(R.id.adapter_template_grade);
gread.setText(resultArray[arg0][2].toString());


AddListener(arg1, arg0);

return arg1;
}


//注册事件的方法

private void AddListener(View view, int position) {

final View vv = view;


Button submit = (Button) vv
.findViewById(R.id.adapter_template_submit);
submit.setOnClickListener(new View.OnClickListener() {


@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
EditText greadEdit = (EditText) vv
.findViewById(R.id.adapter_template_grade_edit);
TextView sno = (TextView) vv
.findViewById(R.id.adapter_template_sno);
//如果修改成绩编辑框为空,则不响应
if(greadEdit.getText().toString().trim().length()<=0){
return;
}
db = sbh.getReadableDatabase();
db.execSQL(
"update stu set grade= ? where sno = ? ",
new Object[] { Integer.parseInt(greadEdit.getText().toString()),
Integer.parseInt(sno.getText().toString())});
TextView gread=(TextView) vv.findViewById(R.id.adapter_template_grade);
                        gread.setText(greadEdit.getText().toString());
db.close();
}
});


}


};


声明:

1. 使用SimpleAdapter无法对模板布局文件中的每一个组件绑定监听器(我不知道)。

2.使用baseAdapter可以像SimpleAdapter一样使用布局文件,实现布局翻译器即可,LayoutInflate。

3.baseAdapter可以实现单组件绑定监听器,诱惑很大。


0 0