public void setAvailability(
      TableRow row1, TextView on1, TextView off1, Switch switch1, Integer index1) {
    final TableRow row = row1;
    final TextView on = on1;
    final TextView off = off1;
    final Switch switch_available = switch1;
    final Integer index = index1;
    row.setFocusableInTouchMode(true);
    row.setFocusable(true);
    row.setClickable(true);

    row.setOnTouchListener(
        new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {
            row.requestFocus();
            Log.d("row touch", "getFocus " + row.hasFocus());
            on.setVisibility(View.VISIBLE);
            off.setVisibility(View.VISIBLE);
            switch_available.setVisibility(View.VISIBLE);
            if (wordRecordArrayList.get(index).getAvailable().intValue() == 1) {
              switch_available.setChecked(true);
            }
            return false;
          }
        });
    row.setOnFocusChangeListener(
        new View.OnFocusChangeListener() {
          @Override
          public void onFocusChange(View v, boolean hasFocus) {
            on.setVisibility(View.INVISIBLE);
            off.setVisibility(View.INVISIBLE);
            switch_available.setVisibility(View.INVISIBLE);
          }
        });
    switch_available.setOnCheckedChangeListener(
        new CompoundButton.OnCheckedChangeListener() {
          @Override
          public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
              if (dataAdapter1.updateAvailability(wordRecordArrayList.get(index).getC_id(), 1)) {
                AlertDialog dialog =
                    new AlertDialog.Builder(getContext())
                        .setTitle("記錄將會程式中啓用")
                        .setMessage("記錄將會程式中啓用")
                        .setPositiveButton(
                            android.R.string.yes,
                            new DialogInterface.OnClickListener() {
                              public void onClick(DialogInterface dialog, int which) {
                                setWordList();
                              }
                            })
                        .show();
              }
            }
            if (!isChecked) {
              if (dataAdapter1.updateAvailability(wordRecordArrayList.get(index).getC_id(), 0)) {
                setWordList();

                AlertDialog dialog =
                    new AlertDialog.Builder(getContext())
                        .setTitle("記錄將不會程式中啓用")
                        .setMessage(String.valueOf(isChecked))
                        .setPositiveButton(
                            android.R.string.yes,
                            new DialogInterface.OnClickListener() {
                              public void onClick(DialogInterface dialog, int which) {
                                setWordList();
                              }
                            })
                        .show();
              } else {
                AlertDialog dialog =
                    new AlertDialog.Builder(getContext())
                        .setTitle("更改失敗")
                        .setMessage("更改失敗")
                        .setPositiveButton(
                            android.R.string.yes,
                            new DialogInterface.OnClickListener() {
                              public void onClick(DialogInterface dialog, int which) {
                                setWordList();
                              }
                            })
                        .show();
              }
            }
          }
        });
  }