可能重複:
Android : Passing button click response from getView() method of adapter class to mainActivity機器人:startActivityForResult和OnActivityResult在getView()方法
我已經寫延伸ArrayAdapter的類。該適配器處理幾個TEXTVIEW和一個按鈕。對於每個按鈕點擊,我想通過意向與下一個活動建立雙向溝通。可以在getView()方法中使用startActivityForResult和OnActivityResult。如果是這樣,請你告訴我如何使用它。
在此先感謝。
以下是getView方法
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;
}
請不要重新發布問題:[Android:將按鈕點擊響應從適配器類的getView()方法傳遞給mainActivity](http://stackoverflow.com/q/14086039/1267661)。如果你想吸引更多的注意力,試着改善你的原始問題。 – Sam
這是錯誤的。謝謝 – user1822729
你是什麼意思?你想直接在getView()方法中直接啓動activityforresult,或者在onClick()方法中使用getClick()方法編寫的按鈕單擊中啓動? – Kanth