Android:将按钮单击响应从适配器类的getView()方法传递给mainActivity
问题很简单。我已经编写了一个单独的类来扩展ArrayAdapter。这个适配器处理两个文本视图和一个按钮。问题是,我不确定是否已将用getView()方法编写的Button的onClickListener的响应传递给主\u活动。基于按钮响应,主_活动有许多逻辑需要遵循。您能告诉我如何获得对主要活动的按钮响应吗 下面是getView方法Android:将按钮单击响应从适配器类的getView()方法传递给mainActivity,android,android-arrayadapter,android-button,onclicklistener,Android,Android Arrayadapter,Android Button,Onclicklistener,问题很简单。我已经编写了一个单独的类来扩展ArrayAdapter。这个适配器处理两个文本视图和一个按钮。问题是,我不确定是否已将用getView()方法编写的Button的onClickListener的响应传递给主\u活动。基于按钮响应,主_活动有许多逻辑需要遵循。您能告诉我如何获得对主要活动的按钮响应吗 下面是getView方法 public View getView(final int position, View convertView, ViewGroup parent) {
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
int type = getItemViewType(position);
if (convertView == null) {
holder = new ViewHolder();
switch (type) {
case 0:
convertView = vi.inflate(R.layout.group, null);
holder.menuItem = (TextView) convertView.findViewById(R.id.tvGroup);
convertView.setBackgroundColor(Color.RED);
break;
case 1:
convertView = vi.inflate(R.layout.confirmitem, null);
holder.menuItem = (TextView) convertView.findViewById(R.id.tvConfirmItem);
holder.quantity = (TextView) convertView.findViewById(R.id.tvQuantity);
holder.cancel = (Button) convertView.findViewById(R.id.bCancel);
// cancel button
holder.cancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.i("ConfirmAdapter ","Button postion "+ position + "canceled item : " + menuItemList.get(position).getTicketItemObject().getName() );
}
});
break;
}
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
switch (type) {
case 0:
holder.menuItem.setText(menuItemList.get(position).getTicketItemObject().getCategoryName()) ;
convertView.setBackgroundColor(Color.RED);
break;
case 1:
holder.menuItem.setText(menuItemList.get(position).getTicketItemObject().getName());
holder.quantity.setText(Integer.toString(menuItemList.get(position).getTicketItemObject().getItemCount()));
break;
}
return convertView;
}
在arrayadapter的构造函数中引用该活动如何? 差不多
public YourArrayAdapter(YourActivity a){
mActivity = a;
}
从onclick方法中引用mActivity
在YourActivity中,可以从那里调用onItemButtonClicked()
方法