Custom listview Adapter in android

package com.rskhan;

import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class Itemadapter extends BaseAdapter {
    private static ArrayList<ItemDetails> itemDetailsrrayList;
    Context context;
    int position2 = 10000;
    String activityType ;

    private LayoutInflater l_Inflater;

    public Itemadapter(Context context, ArrayList<ItemDetails> results,String activityType) {
        itemDetailsrrayList = results;
        l_Inflater = LayoutInflater.from(context);
        this.context = context;
        this.activityType = activityType;
    }

    public int getCount() {
        return itemDetailsrrayList.size();
    }

    public Object getItem(int position) {
        return itemDetailsrrayList.get(position);
    }

    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = l_Inflater.inflate(R.layout.item_details_view, null);
            holder.itemImage = (ImageView) convertView.findViewById(R.id.photo);
            holder.txt_itemName = (TextView) convertView
                    .findViewById(R.id.name);

            holder.txt_itemPrice = (TextView) convertView
                    .findViewById(R.id.price);
            holder.amount = (TextView) convertView.findViewById(R.id.amount);
            holder.caption = (EditText) convertView.findViewById(R.id.quantity);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        // Fill EditText with the value you have in data source
        holder.caption.setText(itemDetailsrrayList.get(position)
                .getItemDescription());
        holder.caption.setId(position);

        holder.txt_itemName
                .setText(itemDetailsrrayList.get(position).getName());

        holder.txt_itemPrice.setText(itemDetailsrrayList.get(position)
                .getPrice());
        holder.amount.setText(itemDetailsrrayList.get(position).getAmount());
        holder.itemImage.setImageResource(R.drawable.icon);

        final ViewHolder myholder = holder;
        // we need to update adapter once we finish with editing
        holder.caption.setOnFocusChangeListener(new OnFocusChangeListener() {
            public void onFocusChange(View v, boolean hasFocus) {
                if (!hasFocus) {
                    final int position = v.getId();
                    final EditText Caption = (EditText) v;
                   
                    itemDetailsrrayList.get(position).setItemDescription(
                            Caption.getText().toString());
                   
                    if (Caption.getText().toString().length()>0) {
                        int pamount = Integer.valueOf(Caption.getText()
                                .toString())
                                * Integer.valueOf(itemDetailsrrayList
                                        .get(position).getPrice());
                        myholder.amount.setText(String.valueOf(pamount));
                        itemDetailsrrayList.get(position)
                        .setAmount(
                                String.valueOf(pamount));
                       
                        int i = 0;
                        int sum = 0;
                        while(i<itemDetailsrrayList.size()){
                            if(!itemDetailsrrayList
                                    .get(i).getAmount().equals("0")){
                               
                                sum =sum+ Integer.valueOf(itemDetailsrrayList
                                        .get(i).getAmount().toString());
                            }
                           
                            if(Caption.getText()
                                    .toString().equals("")){
                                itemDetailsrrayList
                                .get(i).setAmount("0");
                            }
                            i++;
                        }
                       
                       
                        if(activityType.equals("delivery")){
                            String teString = String.valueOf(sum);
                            Delivery_Finalize.total.setText(teString);
                        }else{
                            String teString = String.valueOf(sum);
                        NewOrder.total.setText(teString);
                        }
                       
                    }
                   
                   
                }
            }
        });

        return convertView;
    }
}

class ViewHolder {
    EditText caption;

    TextView txt_itemName;
    TextView txt_itemPrice;
    TextView amount;
    ImageView itemImage;
}

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

How to install Apex

INSERT INTO SELECT Statement in sql