Skip to content

Instantly share code, notes, and snippets.

@addingama
Last active August 29, 2015 14:16
Show Gist options
  • Save addingama/c185ff9939d000901017 to your computer and use it in GitHub Desktop.
Save addingama/c185ff9939d000901017 to your computer and use it in GitHub Desktop.
// ini di dalam adapter. class view holder di buat jadi inner class
static class ViewHolder {
TextView name;
TextView meter;
TextView statusMeter;
TextView statusSegel;
TextView statusData;
TextView id;
ImageView fotoMeter;
LinearLayout btn_delete;
}
public View getView(int position, View convertView, ViewGroup parent) {
DataMeter dm = getItem(position);
View vi = convertView;
ViewHolder holder = null;
if (vi == null) {
vi = LayoutInflater.from(getActivity()).inflate(R.layout.row_data_meter, null);
holder = new ViewHolder();
holder.btn_delete = (LinearLayout) convertView.findViewById(R.id.btn_delete);
holder.name = (TextView) convertView.findViewById(R.id.txt_nama);
holder.meter = (TextView) convertView.findViewById(R.id.txt_pemakaian);
holder.statusMeter = (TextView) convertView.findViewById(R.id.txt_status_meter);
holder.statusSegel = (TextView) convertView.findViewById(R.id.txt_status_segel);
holder.statusData = (TextView) convertView.findViewById(R.id.txt_status_data);
holder.id = (TextView) convertView.findViewById(R.id.txt_id);
vi.setTag(holder);
} else {
holder = (ViewHolder) vi.getTag();
}
holder.btn_delete.setOnClickListener(new DeleteClickListener(dm));
holder.id.setText("ID : " + dm.getIdPelanggan());
holder.statusMeter.setText("Status Meter : " + dm.getStatusMeter());
holder.statusSegel.setText("Status Segel : " + dm.getStatusSegel());
if (dm.getStatusData() == 1) {
holder.statusData.setText(Html.fromHtml("Status Data : <font color='#2E7D32'><b>Uploaded</b></font>"));
} else {
holder.statusData.setText(Html.fromHtml("Status Data : <font color='#B71C1C'><b>Touch to upload</b></font>"));
holder.btn_delete.setVisibility(View.GONE);
}
holder.fotoMeter = (ImageView) convertView.findViewById(R.id.img_meter);
String nama = db.getPelanggan(dm.getIdPelanggan()).getNama();
holder.name.setText(nama);
holder.meter.setText("Data Meter : " + dm.getAngkaMeter());
if (new File(Config.fotoMeterPath + dm.getGambar()).exists()) {
Log.e("FOTO", "ada foto : " + dm.getGambar());
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 6;
Bitmap bm = BitmapFactory.decodeFile(Config.fotoMeterPath + dm.getGambar(), options);
holder.fotoMeter.setImageBitmap(bm);
}
return vi;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment