Android Open Source - Smartlab Person List Adapter






From Project

Back to project page Smartlab.

License

The source code is released under:

Apache License

If you think the Android project Smartlab listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package ir.smartlab.personlist.data;
/* w  w w  . java2  s . c om*/
import java.util.ArrayList;

import ir.smartlab.personlist.R;

import android.content.Context;
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 android.widget.Toast;

public class PersonListAdapter extends BaseAdapter {

  Context context;
  ArrayList<Person> data;
  
  public PersonListAdapter(Context context, ArrayList<Person> data) {
    this.context = context;
    this.data = data;
  }

  @Override
  public int getCount() {
    return data == null ? 0 : data.size();
  }

  @Override
  public Object getItem(int position) {
    return data == null ? null : data.get(position);
  }

  @Override
  public long getItemId(int position) {
    return data == null ? -1 : data.get(position).getId();
  }

  @Override
  public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if( convertView == null ) {
      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      convertView = inflater.inflate(R.layout.item_person_list, null);
      
      holder = new ViewHolder();
      
      holder.nameTextView = (TextView) convertView.findViewById(R.id.nameTextView);
      holder.familyTextView = (TextView) convertView.findViewById(R.id.familyTextView);
      holder.birthdateTextView = (TextView) convertView.findViewById(R.id.birthdateTextView);
      holder.deleteButton = (Button) convertView.findViewById(R.id.deletePersonButton);
      
      convertView.setTag(holder);      
    } else {
      holder = (ViewHolder) convertView.getTag();
    }
    
    holder.nameTextView.setText(data.get(position).getName());
    holder.familyTextView.setText(data.get(position).getFamily());
    holder.birthdateTextView.setText(data.get(position).getBirthdate().toString());
    holder.deleteButton.setOnClickListener(new OnClickListener() {
      
      @Override
      public void onClick(View v) {
        Toast.makeText(context, "clicked on delete button: " + position, Toast.LENGTH_LONG).show();
        delete(position);
      }
    });
    
    return convertView;
  }
  
  private void delete(int position) {
    DatabaseAdapter dbAdapter = new DatabaseAdapter(context);
    if( dbAdapter.deletePerson(data.get(position).getId()) > 0 ) {
      data.remove(position);
      notifyDataSetChanged();
    }
  }
  
  static class ViewHolder{
    TextView nameTextView;
    TextView familyTextView;
    TextView birthdateTextView;
    Button deleteButton;
  }

}




Java Source Code List

com.example.activitylifecycletest.MainActivity.java
com.example.activitylifecycletest.SecondActivity.java
com.example.analyticstest.MainActivity.java
com.example.androidgraphic.MainActivity.java
com.example.animationexample.MainActivity.java
com.example.animationexample.SecondActivity.java
com.example.compassview.CompassView.java
com.example.compassview.MainActivity.java
com.example.databasetest.BookListActivity.java
com.example.databasetest.MainActivity.java
com.example.databasetest.data.Book.java
com.example.databasetest.data.DatabaseAdapter.java
com.example.fragmentexample.BookDetailsFragment.java
com.example.fragmentexample.BookListFragment.java
com.example.fragmentexample.MainActivity.java
com.example.fragmentexample.data.BookListAdapter.java
com.example.fragmentexample.data.Book.java
com.example.fragmentexample.data.DatabaseAdapter.java
com.example.listviewexample.MainActivity.java
com.example.listviewexample.data.BookListAdapter.java
com.example.listviewexample.data.Book.java
com.example.listviewexample.data.DatabaseAdapter.java
com.example.persiandatepicker.MainActivity.java
com.example.persiandatepicker.PersianDatePicker.java
com.example.preferencesexample.MainActivity.java
com.example.sqlitetestapp.MainActivity.java
com.example.sqlitetestapp.PersonListActivity.java
com.example.sqlitetestapp.data.DatabaseAdapter.java
com.example.sqlitetestapp.data.PersonListAdapter.java
com.example.sqlitetestapp.data.model.Person.java
com.example.viewpagerexample.MainActivity.java
ir.smartlab.android.broadcast.MainActivity.java
ir.smartlab.android.broadcast.WifiStateChangeReceiver.java
ir.smartlab.android.downloadasynctask.MainActivity.java
ir.smartlab.android.helloworld.MainActivity.java
ir.smartlab.audiorecord.MainActivity.java
ir.smartlab.audiotest.MainActivity.java
ir.smartlab.camera.MainActivity.java
ir.smartlab.captureimage.MainActivity.java
ir.smartlab.customaudiorecorder.MainActivity.java
ir.smartlab.java.ch04.firstcup.FisrtCup.java
ir.smartlab.java.ch05.circlesample.Circle.java
ir.smartlab.java.ch05.circlesample.Main.java
ir.smartlab.java.ch06.simplecalculator.SimpleCalculator.java
ir.smartlab.java.ch06.variablescope.VariableScopeTest.java
ir.smartlab.java.persiancalendar.Main.java
ir.smartlab.musicplayer.MainActivity.java
ir.smartlab.musicplayerservice.MainActivity.java
ir.smartlab.musicplayerservice.PlayerService.java
ir.smartlab.personlist.MainActivity.java
ir.smartlab.personlist.PersonListActivity.java
ir.smartlab.personlist.data.DatabaseAdapter.java
ir.smartlab.personlist.data.PersonListAdapter.java
ir.smartlab.personlist.data.Person.java