如题 如何在适配器中启动intent跳转activity
2条回答 默认 最新
- Exploring1024 2016-03-04 03:28关注
你在适配器中传入context就可以了。
public class ProductListAdapter extends BaseAdapter { private Context context; private List<String> listData; private ViewHolderProduct viewHolderProduct; public ProductListAdapter(Context context,List<String> listData){ this.context = context; this.listData = listData; } @Override public int getCount() { return listData == null ? 0 : listData.size(); } @Override public Object getItem(int position) { return listData == null ? null : listData.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView == null || convertView.getTag() == null){ viewHolderProduct = new ViewHolderProduct(); convertView = LayoutInflater.from(context).inflate(R.layout.product_item_layout,null); viewHolderProduct.iv_pro_pic = (ImageView) convertView.findViewById(R.id.iv_imageView); viewHolderProduct.tv_pro_date = (TextView) convertView.findViewById(R.id.tv_pro_date); viewHolderProduct.tv_pro_desc = (TextView) convertView.findViewById(R.id.tv_pro_desc); viewHolderProduct.tv_pro_from = (TextView) convertView.findViewById(R.id.tv_pro_from); viewHolderProduct.tv_pro_name = (TextView) convertView.findViewById(R.id.tv_pro_name); viewHolderProduct.tv_pro_number = (TextView) convertView.findViewById(R.id.tv_pro_number); viewHolderProduct.tv_pro_price = (TextView) convertView.findViewById(R.id.tv_pro_price); convertView.setTag(viewHolderProduct); }else{ viewHolderProduct = (ViewHolderProduct) convertView.getTag(); } viewHolderProduct.tv_pro_price.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(context, LoginActivity.class); context.startActivity(intent); } }); return convertView; } class ViewHolderProduct{ TextView tv_pro_number,tv_pro_name,tv_pro_desc,tv_pro_from,tv_pro_date,tv_pro_price; ImageView iv_pro_pic; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 7无用 1