您的位置:首页 > 移动开发 > Android开发

Android listView 每行多个Button 响应点击事件

2016-09-17 21:42 429 查看
public class Task_list_single_item_adapter extends BaseAdapter  
{  
  
    LayoutInflater inflater;  
    Context context;  
    public Task_list_single_item_adapter(Context context){  
        this.context=context;  
        inflater=LayoutInflater.from(context);  
    }  
    @Override  
    public int getCount()  
    {  
        return 2;  
    }  
  
    @Override  
    public Object getItem(int position)  
    {  
        return null;  
    }  
  
    @Override  
    public long getItemId(int position)  
    {  
        return position;  
    }  
  
    @Override  
    public View getView(int position, View convertView, ViewGroup parent)  
    {  
        final Holder holder;  
        if(convertView!=null)  
        {  
            holder=(Holder) convertView.getTag();  
        }else {  
            holder=new Holder();  
            convertView=inflater.inflate(R.layout.download_management_item, null);  
            holder.pause=(Button) convertView.findViewById(R.id.dmi_ib1_pause);  
            holder.trys=(Button) convertView.findViewById(R.id.dmi_ib2_recover);  
            holder.install=(Button) convertView.findViewById(R.id.dmi_ib3_install);  
            convertView.setTag(holder);  
        }  
        OnClickListener listener=new OnClickListener(){  
            @Override 

            public void onClick(View v)    //关键代码  position参数获取行   view参数获取具体哪个button

            {  
                if(v==holder.pause){  
                    Toast.makeText(context, "pause", Toast.LENGTH_SHORT).show();  
                    holder.pause.setVisibility(View.GONE);  
                    holder.trys.setVisibility(View.VISIBLE);  
                    holder.install.setVisibility(View.GONE);  
                }  
                if(v==holder.trys){  
                    Toast.makeText(context, "try", Toast.LENGTH_SHORT).show();  
                    holder.pause.setVisibility(View.VISIBLE);  
                    holder.trys.setVisibility(View.GONE);  
                    holder.install.setVisibility(View.GONE);  
                }  
                if(v==holder.install)  
                    Toast.makeText(context, "install", Toast.LENGTH_SHORT).show();  
                      
            }  
        };  
        holder.pause.setOnClickListener(listener);  
        holder.trys.setOnClickListener(listener);  
        holder.install.setOnClickListener(listener);  
        return convertView;  
    }  
    class Holder{  
        public Button pause;  
        public Button trys;  
        public Button install;  
    }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: