@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {
      PayWayElement e =
          (PayWayElement) data.getSerializableExtra(PayWayShowOrCreateActivity.PAYWAY_DATA);
      if (CHANGE_PAYWAY == requestCode) {
        mAdapter.changeElement(e);
      } else if (CREATE_NEW_PAYWAY == requestCode) {
        mAdapter.addElement(e);
      }
    } else if (resultCode == PayWayShowOrCreateActivity.PAYWAY_DELETE) { // 仅在CHANGE_PAYWAY时发生
      PayWayElement e =
          (PayWayElement) data.getSerializableExtra(PayWayShowOrCreateActivity.PAYWAY_DATA);
      mAdapter.deleteElement(e.mPosition);
    }
  }
 @Override
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
   Intent intent = new Intent();
   intent.setClass(this, PayWayShowOrCreateActivity.class);
   intent.putExtra(PayWayShowOrCreateActivity.CHANGE_OR_ADD, true);
   Bundle bundle = new Bundle();
   bundle.putSerializable(
       PayWayShowOrCreateActivity.PAYWAY_DATA, (PayWayElement) mAdapter.getItem(position));
   intent.putExtras(bundle);
   startActivityForResult(intent, CHANGE_PAYWAY);
 }