import java.util.List;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import com.study.mobilesafe.R;
import com.study.mobilesafe.db.dao.BlackNumberDao;
import com.study.mobilesafe.domain.BlackNumberInfo;
public class CallSmsSafeAdapter extends BaseAdapter {
private LayoutInflater inflater;
private List<BlackNumberInfo> infos;
private Context context;
private AlertDialog.Builder builder;
private BlackNumberInfo info;
private BlackNumberDao dao;
public CallSmsSafeAdapter(Context context, List<BlackNumberInfo> infos) {
inflater = LayoutInflater.from(context);
this.infos = infos;
this.context = context;
}
@Override
public int getCount() {
return infos.size();
}
@Override
public Object getItem(int position) {
return infos.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_blacknumber, null);
holder = new ViewHolder();
holder.tv_number = (TextView) convertView
.findViewById(R.id.tv_number);
holder.tv_mode = (TextView) convertView.findViewById(R.id.tv_mode);
holder.btn_update = (Button) convertView
.findViewById(R.id.btn_update);
holder.btn_delete = (Button) convertView
.findViewById(R.id.btn_delete);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
info = infos.get(position);
holder.tv_number.setText(info.getNumber());
String text = null;
int mode = info.getMode();
if (mode == 0) {
text = "...";
} else if (mode == 1) {
text = "xxx";
} else {
text = "///";
}
holder.tv_mode.setText(text);
holder.btn_delete.setOnClickListener(new MyDeleteButtonListener(
position));
return convertView;
}
private class ViewHolder {
TextView tv_number;
TextView tv_mode;
Button btn_update;
Button btn_delete;
}
/**
* 删除按钮的点击事件
* @author TCL
*/
class MyDeleteButtonListener implements OnClickListener {
private int pos;
public MyDeleteButtonListener(int pos) {
this.pos = pos;
}
@Override
public void onClick(View v) {
//你的逻辑
}
}
}
listView的convertView复用引发的问题解决
最新推荐文章于 2018-08-11 11:33:51 发布