Java Code Examples for android.view.View#setLongClickable()

The following examples show how to use android.view.View#setLongClickable() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
Source Project: BaseProject   File: BaseViewHolder.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * add long click view id
 *
 * @param viewId
 * @return if you use adapter bind listener
 * @link {(adapter.setOnItemChildLongClickListener(listener))}
 * <p>
 * or if you can use  recyclerView.addOnItemTouch(listerer)  wo also support this menthod
 */
@SuppressWarnings("unchecked")
public BaseViewHolder addOnLongClickListener(@IdRes final int viewId) {
    itemChildLongClickViewIds.add(viewId);
    final View view = getView(viewId);
    if (view != null) {
        if (!view.isLongClickable()) {
            view.setLongClickable(true);
        }
        view.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                return adapter.getOnItemChildLongClickListener() != null &&
                        adapter.getOnItemChildLongClickListener().onItemChildLongClick(adapter, v, getClickPosition());
            }
        });
    }
    return this;
}
 
Example 2
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    if (position < getCount() - (mShowAdd ? 1 : 0)) {
        convertView = mInflater.inflate(R.layout.listitem_comment, parent, false);
        convertView.setLongClickable(true);
        ((TextView) convertView.findViewById(R.id.username)).setText(Utils.fromHtml(String.format("<small>%s</small>", users == null ? mObjects.get(position).getUsername() : users.get(mObjects.get(position).getUserId()))));
        ((TextView) convertView.findViewById(R.id.date)).setText(Utils.fromHtml(String.format("<small>%tF</small>", mObjects.get(position).getDateModification())));
        ((TextView) convertView.findViewById(R.id.comment)).setText(Utils.fromHtml(mRenderer.render(mParser.parse(mObjects.get(position).getContent()))));
    } else {
        convertView = mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
        ((TextView) convertView.findViewById(android.R.id.text1)).setText(getString(R.string.taskview_fab_new_comment));
        ((TextView) convertView.findViewById(android.R.id.text1)).setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
    }

    return convertView;
}
 
Example 3
Source Project: holoaccent   File: ButtonFragment.java    License: Apache License 2.0 6 votes vote down vote up
@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		View result = inflater.inflate(R.layout.buttons, null);
		
		View coloredButton = result.findViewById(R.id.coloredButton);
		coloredButton.setLongClickable(true);
//		registerForContextMenu(coloredButton);
		
//		mListPopupButton = result.findViewById(R.id.listPopupButton);
//		mListPopupButton.setOnLongClickListener(mPopupListener);

        QuickContactBadge badge = (QuickContactBadge)result.findViewById(R.id.badge);
        badge.assignContactFromEmail("[email protected]", false);
		
		return result;
	}
 
Example 4
Source Project: dynamic-support   File: DynamicTooltip.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Set the tooltip for the view.
 *
 * @param view The view to set the tooltip on.
 * @param backgroundColor The background color for the tooltip.
 * @param tintColor The tint color for the tooltip.
 * @param icon The icon drawable for the tooltip.
 * @param text The text for the tooltip.
 */
public static void set(@NonNull View view, @ColorInt int backgroundColor,
        @ColorInt int tintColor, @Nullable Drawable icon, @Nullable CharSequence text) {
    // The code below is not attempting to update the tooltip text
    // for a pending or currently active tooltip, because it may lead
    // to updating the wrong tooltip in in some rare cases (e.g. when
    // action menu item views are recycled). Instead, the tooltip is
    // canceled/hidden. This might still be the wrong tooltip,
    // but hiding a wrong tooltip is less disruptive UX.
    if (sPendingHandler != null && sPendingHandler.mAnchor == view) {
        setPendingHandler(null);
    }
    if (TextUtils.isEmpty(text)) {
        if (sActiveHandler != null && sActiveHandler.mAnchor == view) {
            sActiveHandler.hide();
        }
        view.setOnLongClickListener(null);
        view.setLongClickable(false);
        view.setOnHoverListener(null);
    } else {
        new DynamicTooltip(view, backgroundColor, tintColor, icon, text);
    }
}
 
Example 5
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
    super.beforeHookedMethod(param);
    View view = (View) param.thisObject;

    // java.lang.RuntimeException:
    // Don't call setOnClickListener for an AdapterView.
    // You probably want setOnItemClickListener() instead.

    if (isAdapterView(view) || view == null) {
        return;
    }
    try {
        view.setFocusable(true);
        view.setClickable(true);
        view.setEnabled(true);
        view.setLongClickable(true);
        view.setOnTouchListener(null);
        view.setOnClickListener(null);
        view.setOnLongClickListener(null);
    } catch (Throwable ignored) {

    }
}
 
Example 6
Source Project: litho   File: MountState.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Installs the long click listeners that will dispatch the click handler defined in the
 * component's props. Unconditionally set the clickable flag on the view.
 */
private static void setLongClickHandler(
    EventHandler<LongClickEvent> longClickHandler, View view) {
  if (longClickHandler != null) {
    ComponentLongClickListener listener = getComponentLongClickListener(view);

    if (listener == null) {
      listener = new ComponentLongClickListener();
      setComponentLongClickListener(view, listener);
    }

    listener.setEventHandler(longClickHandler);

    view.setLongClickable(true);
  }
}
 
Example 7
Source Project: JD-Test   File: BaseViewHolder.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * add long click view id
 *
 * @param viewId
 * @return if you use adapter bind listener
 * @link {(adapter.setOnItemChildLongClickListener(listener))}
 * <p>
 * or if you can use  recyclerView.addOnItemTouch(listerer)  wo also support this menthod
 */
public BaseViewHolder addOnLongClickListener(final int viewId) {
    itemChildLongClickViewIds.add(viewId);
    final View view = getView(viewId);
    if (!view.isLongClickable()) {
        view.setLongClickable(true);
    }
    if (view != null) {
        view.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                if (adapter.getmOnItemChildLongClickListener() != null) {
                    adapter.getmOnItemChildLongClickListener().onItemChildLongClick(adapter, v, getClickPosition());
                }
                return false;
            }
        });
    }

    return this;
}
 
Example 8
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    if (position < getCount() - (mShowAdd ? 1 : 0)) {
        convertView = mInflater.inflate(R.layout.listitem_comment, parent, false);
        convertView.setLongClickable(true);
        ((TextView) convertView.findViewById(R.id.username)).setText(Utils.fromHtml(String.format("<small>%s</small>", users == null ? mObjects.get(position).getUsername() : users.get(mObjects.get(position).getUserId()))));
        ((TextView) convertView.findViewById(R.id.date)).setText(Utils.fromHtml(String.format("<small>%tF</small>", mObjects.get(position).getDateModification())));
        ((TextView) convertView.findViewById(R.id.comment)).setText(Utils.fromHtml(mRenderer.render(mParser.parse(mObjects.get(position).getContent()))));
    } else {
        convertView = mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
        ((TextView) convertView.findViewById(android.R.id.text1)).setText(getString(R.string.taskview_fab_new_comment));
        ((TextView) convertView.findViewById(android.R.id.text1)).setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
    }

    return convertView;
}
 
Example 9
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.listitem_taskfiles, parent, false);
        convertView.setLongClickable(true);
    }

    ((TextView) convertView.findViewById(R.id.username)).setText(Utils.fromHtml(String.format("<small>%s</small>", users == null ? mObjects.get(position).getUsername() : users.get(mObjects.get(position).getUserId()))));
    ((TextView) convertView.findViewById(R.id.date)).setText(Utils.fromHtml(String.format("<small>%tF</small>", mObjects.get(position).getFileDate())));
    ((TextView) convertView.findViewById(R.id.filename)).setText(String.format("%s", mObjects.get(position).getName()));
    double size = mObjects.get(position).getSize();
    int rounds = 0;
    while (size > 1024 && rounds < 4) {
        size /= 1024;
        rounds++;
    }
    ((TextView) convertView.findViewById(R.id.filesize)).setText(String.format(Locale.getDefault(), "%.2f %s", size, mContext.getResources().getStringArray(R.array.file_sizes)[rounds]));
    return convertView;
}
 
Example 10
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.listitem_taskfiles, parent, false);
        convertView.setLongClickable(true);
    }

    ((TextView) convertView.findViewById(R.id.username)).setText(Utils.fromHtml(String.format("<small>%s</small>", users == null ? mObjects.get(position).getUsername() : users.get(mObjects.get(position).getUserId()))));
    ((TextView) convertView.findViewById(R.id.date)).setText(Utils.fromHtml(String.format("<small>%tF</small>", mObjects.get(position).getFileDate())));
    ((TextView) convertView.findViewById(R.id.filename)).setText(String.format("%s", mObjects.get(position).getName()));
    double size = mObjects.get(position).getSize();
    int rounds = 0;
    while (size > 1024 && rounds < 4) {
        size /= 1024;
        rounds++;
    }
    ((TextView) convertView.findViewById(R.id.filesize)).setText(String.format(Locale.getDefault(), "%.2f %s", size, mContext.getResources().getStringArray(R.array.file_sizes)[rounds]));
    return convertView;
}
 
Example 11
Source Project: DevUtils   File: ViewUtils.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 设置 View 是否可以长按
 * @param longClickable {@code true} 可长按, {@code false} 不可长按
 * @param views         View[]
 * @return {@code true} 可长按, {@code false} 不可长按
 */
public static boolean setLongClickable(final boolean longClickable, final View... views) {
    if (views != null) {
        for (int i = 0, len = views.length; i < len; i++) {
            View view = views[i];
            if (view != null) {
                view.setLongClickable(longClickable);
            }
        }
    }
    return longClickable;
}
 
Example 12
public EventViewHolder(View itemView, int viewType) {
	super(itemView, myMultiSelector);
	if (viewType == VIEW_TYPE_EVENT) {
		itemView.setLongClickable(true);
		itemView.setOnLongClickListener(this);
		itemView.setOnClickListener(this);
	}
	setSelectionModeBackgroundDrawable(getSelectedStateDrawable());
}
 
Example 13
Source Project: EfficientAdapter   File: AdapterHelper.java    License: Apache License 2.0 5 votes vote down vote up
void setLongClickListenerOnView(EfficientViewHolder viewHolder) {
    View view = viewHolder.getView();
    View.OnLongClickListener listener = viewHolder.getOnLongClickListener(mOnItemClickListener != null);
    view.setOnLongClickListener(listener);
    if (listener == null) {
        view.setLongClickable(false);
    }
}
 
Example 14
Source Project: litho   File: MountState.java    License: Apache License 2.0 4 votes vote down vote up
static void unsetViewAttributes(
    final Object content, final LayoutOutput output, final int mountFlags) {
  final Component component = output.getComponent();
  final boolean isHostView = isHostSpec(component);

  if (!isMountViewSpec(component)) {
    return;
  }

  final View view = (View) content;
  final NodeInfo nodeInfo = output.getNodeInfo();

  if (nodeInfo != null) {
    if (nodeInfo.getClickHandler() != null) {
      unsetClickHandler(view);
    }

    if (nodeInfo.getLongClickHandler() != null) {
      unsetLongClickHandler(view);
    }

    if (nodeInfo.getFocusChangeHandler() != null) {
      unsetFocusChangeHandler(view);
    }

    if (nodeInfo.getTouchHandler() != null) {
      unsetTouchHandler(view);
    }

    if (nodeInfo.getInterceptTouchHandler() != null) {
      unsetInterceptTouchEventHandler(view);
    }

    unsetViewTag(view);
    unsetViewTags(view, nodeInfo.getViewTags());

    unsetShadowElevation(view, nodeInfo.getShadowElevation());
    unsetOutlineProvider(view, nodeInfo.getOutlineProvider());
    unsetClipToOutline(view, nodeInfo.getClipToOutline());
    unsetClipChildren(view, nodeInfo.getClipChildren());

    if (!TextUtils.isEmpty(nodeInfo.getContentDescription())) {
      unsetContentDescription(view);
    }

    unsetScale(view, nodeInfo);
    unsetAlpha(view, nodeInfo);
    unsetRotation(view, nodeInfo);
    unsetRotationX(view, nodeInfo);
    unsetRotationY(view, nodeInfo);
  }

  view.setClickable(isViewClickable(mountFlags));
  view.setLongClickable(isViewLongClickable(mountFlags));

  unsetFocusable(view, mountFlags);
  unsetEnabled(view, mountFlags);
  unsetSelected(view, mountFlags);

  if (output.getImportantForAccessibility() != IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
    unsetImportantForAccessibility(view);
  }

  unsetAccessibilityDelegate(view);

  final ViewNodeInfo viewNodeInfo = output.getViewNodeInfo();
  if (viewNodeInfo != null) {
    unsetViewStateListAnimator(view, viewNodeInfo);
    // Host view doesn't set its own padding, but gets absolute positions for inner content from
    // Yoga. Also bg/fg is used as separate drawables instead of using View's bg/fg attribute.
    if (LayoutOutput.areDrawableOutputsDisabled(output.getFlags())) {
      unsetViewBackground(view, viewNodeInfo);
      unsetViewForeground(view, viewNodeInfo);
    }
    if (!isHostView) {
      unsetViewPadding(view, output, viewNodeInfo);
      unsetViewBackground(view, viewNodeInfo);
      unsetViewForeground(view, viewNodeInfo);
      unsetViewLayoutDirection(view);
    }
  }
}
 
Example 15
@Override
protected void convert(BaseViewHolder holder, SubscriptionListEntity.Subscription entity) {
    View itemView = holder.getConvertView();
    itemView.setTag(entity);
    itemView.setOnClickListener(this);
    if (entity.getSubscriptionType() == null || entity.getSubscriptionType() == SubscriptionType.notebook) {
        itemView.setLongClickable(false);
    } else {
        itemView.setLongClickable(true);
        final String userId = entity.getSource_identity().split(":")[0];
        itemView.setOnLongClickListener(v -> {
            showAddToDesktop(entity.getSubscriptionType(), userId, entity.getImage(), entity.getName());
            return true;
        });
    }


    TextView tvName = holder.getView(R.id.tv_name);
    tvName.setMaxWidth(DisplayInfo.getWidthPixels() / 2);

    holder.setText(R.id.tv_name, entity.getName());
    holder.setText(R.id.tv_desc, entity.getNewNoteTitle());

    // 未读数
    int unreadCount = entity.getUnreadCount();
    if (unreadCount == 0) {
        holder.setVisible(R.id.tv_unread, false);
        holder.setVisible(R.id.tv_notify, false);
    } else {
        holder.setVisible(R.id.tv_unread, true);
        holder.setVisible(R.id.tv_notify, true);

        String txt = unreadCount > 99 ? "99+" : String.valueOf(unreadCount);
        holder.setText(R.id.tv_unread, String.format(AppUtils.getContext().getString(R.string.count_article_update), txt));
    }


    UniversalDraweeView icon = holder.getView(R.id.avatar);
    SubscriptionType subscriptionType = entity.getSubscriptionType();
    if (subscriptionType != null) {
        switch (subscriptionType) {
            case user:
                icon.setCircle(true);
                icon.setImageURI(entity.getImage());
                break;
            case notebook:
                icon.setCircle(false);
                icon.setCornerRadiusRes(R.dimen.dp_4);
                icon.setImageURI(ImageUtils.parseUri(R.drawable.wj_image));
                break;
            default:
                icon.setCircle(false);
                icon.setCornerRadiusRes(R.dimen.dp_4);
                icon.setImageURI(entity.getImage());
                break;
        }
    }
}
 
Example 16
void bindView(View view, final Context context, final BgReading bgReading) {
    final BgReadingCursorAdapterViewHolder tag = (BgReadingCursorAdapterViewHolder) view.getTag();
    tag.raw_data_id.setText(BgGraphBuilder.unitized_string_with_units_static(bgReading.calculated_value)
            + "  " + JoH.qs(bgReading.calculated_value, 1)
            + " " + (!bgReading.isBackfilled() ? bgReading.slopeArrow() : ""));
    tag.raw_data_value.setText("Aged raw: " + JoH.qs(bgReading.age_adjusted_raw_value, 2));
    tag.raw_data_slope.setText(bgReading.isBackfilled() ? ("Backfilled" + " " + ((bgReading.source_info != null) ? bgReading.source_info : "")) : "Raw: " + JoH.qs(bgReading.raw_data, 2) + " " + ((bgReading.source_info != null) ? bgReading.source_info : ""));
    tag.raw_data_timestamp.setText(new Date(bgReading.timestamp).toString());

    if (bgReading.ignoreForStats) {
        // red invalid/cancelled/overridden
        view.setBackgroundColor(Color.parseColor("#660000"));
    } else {
        // normal grey
        view.setBackgroundColor(Color.parseColor("#212121"));
    }

    view.setLongClickable(true);
    view.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    switch (which){
                        case DialogInterface.BUTTON_POSITIVE:
                            bgReading.ignoreForStats = true;
                            bgReading.save();
                            notifyDataSetChanged();
                            if (Pref.getBooleanDefaultFalse("wear_sync")) BgReading.pushBgReadingSyncToWatch(bgReading, false);
                            break;

                        case DialogInterface.BUTTON_NEGATIVE:
                            bgReading.ignoreForStats = false;
                            bgReading.save();
                            notifyDataSetChanged();
                            if (Pref.getBooleanDefaultFalse("wear_sync")) BgReading.pushBgReadingSyncToWatch(bgReading, false);
                            break;
                    }
                }
            };

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("Flag reading as \"bad\".\nFlagged readings have no impact on the statistics.").setPositiveButton("Yes", dialogClickListener)
                    .setNegativeButton("No", dialogClickListener).show();
            return true;
        }
    });

}
 
Example 17
void bindView(View view, final Context context, final Calibration calibration) {
    final CalibrationDataCursorAdapterViewHolder tag = (CalibrationDataCursorAdapterViewHolder) view.getTag();
    tag.raw_data_id.setText(JoH.qs(calibration.bg, 4) + "    "+ BgGraphBuilder.unitized_string_static(calibration.bg));
    tag.raw_data_value.setText("raw: " + JoH.qs(calibration.estimate_raw_at_time_of_calibration, 4));
    tag.raw_data_slope.setText("slope: " + JoH.qs(calibration.slope, 4) + " intercept: " + JoH.qs(calibration.intercept, 4));
    tag.raw_data_timestamp.setText(JoH.dateTimeText(calibration.timestamp) + "  (" + JoH.dateTimeText(calibration.raw_timestamp) + ")");

    if (calibration.isNote()) {
        // green note
        view.setBackgroundColor(Color.parseColor("#004400"));
    } else if (!calibration.isValid()) {
        // red invalid/cancelled/overridden
        view.setBackgroundColor(Color.parseColor("#660000"));
    } else {
        // normal grey
        view.setBackgroundColor(Color.parseColor("#212121"));
    }

    view.setLongClickable(true);
    view.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    switch (which){
                        case DialogInterface.BUTTON_POSITIVE:
                            calibration.clear_byuuid(calibration.uuid, false);
                            notifyDataSetChanged();
                            break;

                        case DialogInterface.BUTTON_NEGATIVE:
                            break;
                    }
                }
            };

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("Disable this calibration?\nFlagged calibrations will no longer have an effect.").setPositiveButton("Yes", dialogClickListener)
                    .setNegativeButton("No", dialogClickListener).show();
            return true;
        }
    });


}
 
Example 18
void bindView(View view, final Context context, final BgReading bgReading) {
    final BgReadingCursorAdapterViewHolder tag = (BgReadingCursorAdapterViewHolder) view.getTag();
    tag.raw_data_id.setText(BgGraphBuilder.unitized_string_with_units_static(bgReading.calculated_value)
            + "  " + JoH.qs(bgReading.calculated_value, 1)
            + " " + (!bgReading.isBackfilled() ? bgReading.slopeArrow() : ""));
    tag.raw_data_value.setText("Aged raw: " + JoH.qs(bgReading.age_adjusted_raw_value, 2));
    tag.raw_data_slope.setText(bgReading.isBackfilled() ? ("Backfilled" + " " + ((bgReading.source_info != null) ? bgReading.source_info : "")) : "Raw: " + JoH.qs(bgReading.raw_data, 2) + " " + ((bgReading.source_info != null) ? bgReading.source_info : ""));
    tag.raw_data_timestamp.setText(new Date(bgReading.timestamp).toString());

    if (bgReading.ignoreForStats) {
        // red invalid/cancelled/overridden
        view.setBackgroundColor(Color.parseColor("#660000"));
    } else {
        // normal grey
        view.setBackgroundColor(Color.parseColor("#212121"));
    }

    view.setLongClickable(true);
    view.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    switch (which){
                        case DialogInterface.BUTTON_POSITIVE:
                            bgReading.ignoreForStats = true;
                            bgReading.save();
                            notifyDataSetChanged();
                            if (Pref.getBooleanDefaultFalse("wear_sync")) BgReading.pushBgReadingSyncToWatch(bgReading, false);
                            break;

                        case DialogInterface.BUTTON_NEGATIVE:
                            bgReading.ignoreForStats = false;
                            bgReading.save();
                            notifyDataSetChanged();
                            if (Pref.getBooleanDefaultFalse("wear_sync")) BgReading.pushBgReadingSyncToWatch(bgReading, false);
                            break;
                    }
                }
            };

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("Flag reading as \"bad\".\nFlagged readings have no impact on the statistics.").setPositiveButton("Yes", dialogClickListener)
                    .setNegativeButton("No", dialogClickListener).show();
            return true;
        }
    });

}
 
Example 19
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    ViewHolder viewHolder;

    if (view == null) {
        viewHolder = new ViewHolder();
        view = mInflator.inflate(R.layout.listitem_megastatus, null);
        viewHolder.value = (TextView) view.findViewById(R.id.value);
        viewHolder.name = (TextView) view.findViewById(R.id.name);
        viewHolder.spacer = (TextView) view.findViewById(R.id.spacer);
        viewHolder.layout = (LinearLayout) view.findViewById(R.id.device_list_id);
        view.setTag(viewHolder);
        if (color_store1 == null) {
            color_store1 = viewHolder.name.getCurrentTextColor();
            padding_store_bottom_1 = viewHolder.layout.getPaddingBottom();
            padding_store_top_1 = viewHolder.layout.getPaddingTop();
            padding_store_left_1 = viewHolder.layout.getPaddingLeft();
            padding_store_right_1 = viewHolder.layout.getPaddingRight();
            gravity_store_1 = viewHolder.name.getGravity();
        }

    } else {
        viewHolder = (ViewHolder) view.getTag();
        //  reset all changed properties
        viewHolder.spacer.setVisibility(View.VISIBLE);
        viewHolder.name.setVisibility(View.VISIBLE);
        viewHolder.value.setVisibility(View.VISIBLE);
        viewHolder.name.setTextColor(color_store1);
        viewHolder.layout.setPadding(padding_store_left_1, padding_store_top_1, padding_store_right_1, padding_store_bottom_1);
        viewHolder.name.setGravity(gravity_store_1);
    }


    final StatusItem row = statusRows.get(i);

    // TODO  add buttons

    if (row.name.equals("line-break")) {
        viewHolder.spacer.setVisibility(View.GONE);
        viewHolder.name.setVisibility(View.GONE);
        viewHolder.value.setVisibility(View.GONE);
        viewHolder.layout.setPadding(10, 10, 10, 10);
    } else if (row.name.equals("heading-break")) {
        viewHolder.value.setVisibility(View.GONE);
        viewHolder.spacer.setVisibility(View.GONE);
        viewHolder.name.setText(row.value);
        viewHolder.name.setGravity(Gravity.CENTER_HORIZONTAL);
        viewHolder.name.setTextColor(Color.parseColor("#fff9c4"));
    } else {

        viewHolder.name.setText(row.name);
        viewHolder.value.setText(row.value);

        final int new_colour = row.highlight.color();
        //if (new_colour != -1) {
        viewHolder.value.setBackgroundColor(new_colour);
        viewHolder.spacer.setBackgroundColor(new_colour);
        viewHolder.name.setBackgroundColor(new_colour);
        //}
        view.setOnClickListener(null); // reset
        if ((row.runnable != null) && (row.button_name != null) && (row.button_name.equals("long-press"))) {
            runnableView = view; // last one
          /*  view.setLongClickable(true);
            view.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    try {
                        runOnUiThread(row.runnable);
                    } catch (Exception e) {
                        //
                    }
                    return true;
                }
            });*/
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    try {
                        runOnUiThread(row.runnable);
                    } catch (Exception e) {
                        //
                    }

                }
            });
        } else {
            view.setLongClickable(false);
        }
    }

    return view;
}
 
Example 20
void bindView(View view, final Context context, final Calibration calibration) {
    final CalibrationDataCursorAdapterViewHolder tag = (CalibrationDataCursorAdapterViewHolder) view.getTag();
    tag.raw_data_id.setText(JoH.qs(calibration.bg, 4) + "    "+ BgGraphBuilder.unitized_string_static(calibration.bg));
    tag.raw_data_value.setText("raw: " + JoH.qs(calibration.estimate_raw_at_time_of_calibration, 4));
    tag.raw_data_slope.setText("slope: " + JoH.qs(calibration.slope, 4) + " intercept: " + JoH.qs(calibration.intercept, 4));
    tag.raw_data_timestamp.setText(JoH.dateTimeText(calibration.timestamp) + "  (" + JoH.dateTimeText(calibration.raw_timestamp) + ")");

    if (calibration.isNote()) {
        // green note
        view.setBackgroundColor(Color.parseColor("#004400"));
    } else if (!calibration.isValid()) {
        // red invalid/cancelled/overridden
        view.setBackgroundColor(Color.parseColor("#660000"));
    } else {
        // normal grey
        view.setBackgroundColor(Color.parseColor("#212121"));
    }

    view.setLongClickable(true);
    view.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    switch (which){
                        case DialogInterface.BUTTON_POSITIVE:
                            calibration.clear_byuuid(calibration.uuid, false);
                            notifyDataSetChanged();
                            break;

                        case DialogInterface.BUTTON_NEGATIVE:
                            break;
                    }
                }
            };

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("Disable this calibration?\nFlagged calibrations will no longer have an effect.").setPositiveButton("Yes", dialogClickListener)
                    .setNegativeButton("No", dialogClickListener).show();
            return true;
        }
    });


}