There are two ways you can build the adapter:--
Use some adapter provided by Android system like:-
 SimpleCursorAdapter
 ArrayAdapter,etc
example:--
 ListView listView = (ListView) findViewById(R.id.<list_view_id>);
 ArrayList<Income> income_array_list = <get the arraylist from whatever sources>;
 ArrayAdapter<Income> arrayAdapter = new ArrayAdapter<Income>(
         this, 
         android.R.layout.simple_list_item_1,
         income_array_list );
 listView.setAdapter(arrayAdapter); 
Create your own custom adapter.
I just used only two field just to show you how to build custom adapter,Rest you can build by looking this code.
Example:-
IncomeListAdapter class
private class IncomeListAdapter extends BaseAdapter {
    ArrayList<Income> mDisplayedValues;
    LayoutInflater inflater;
    public IncomeListAdapter(Context context) {
        // TODO Auto-generated constructor stub
        mDisplayedValues = <your_Income_list>;
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mDisplayedValues.size();
    }
    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }
    @Override
    public View getView(final int position, View convertView,
            ViewGroup parent) {
        // TODO Auto-generated method stub
        View v = convertView;
        ViewHolder holder;
        if (v == null) {
            v = inflater.inflate(R.layout.listrow_income, null);
            holder = new ViewHolder();
            holder.tvTutar = (TextView) v
                    .findViewById(R.id.tvTutar);
            holder.tvId = (TextView) v.findViewById(R.id.tvId);
            v.setTag(holder);
        } else
            holder = (ViewHolder) v.getTag();
               holder.tvTutar.setText(mDisplayedValues.get(position).getTutar());
           holder.tvId.setText(mDisplayedValues.get(position).getId());
           return v;
    }
    class ViewHolder {
        TextView tvTutar;
        TextView tvId;
    }
}
 listrow_income.xml:--
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:gravity="center"
android:orientation="horizontal"
android:padding="8dp" >
   <TextView
    android:id="@+id/tvTutar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#323232" />
   <TextView
    android:id="@+id/tvId"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@android:color/white"    />
 </LinearLayout>