Java Code Examples for android.widget.TextView#setClickable()
The following examples show how to use
android.widget.TextView#setClickable() .
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 check out the related API usage on the sidebar.
Example 1
Source File: HyperlinkPreference.java From 365browser with Apache License 2.0 | 6 votes |
@Override protected void onBindView(View view) { super.onBindView(view); TextView titleView = (TextView) view.findViewById(android.R.id.title); titleView.setSingleLine(false); if (mImitateWebLink) { setSelectable(false); titleView.setClickable(true); titleView.setTextColor(titleView.getPaint().linkColor); titleView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { HyperlinkPreference.this.onClick(); } }); } }
Example 2
Source File: UserGuideActivity.java From prevent with Do What The F*ck You Want To Public License | 6 votes |
private boolean setView(int id, String packageName) { TextView donate = (TextView) findViewById(id); PackageManager pm = getPackageManager(); try { ApplicationInfo info = pm.getApplicationInfo(packageName, 0); if (!info.enabled) { return false; } CharSequence label = getLabel(pm, info); donate.setContentDescription(label); donate.setCompoundDrawablesWithIntrinsicBounds(null, cropDrawable(pm.getApplicationIcon(info)), null, null); donate.setText(label); donate.setClickable(true); donate.setOnClickListener(this); donate.setVisibility(View.VISIBLE); return true; } catch (PackageManager.NameNotFoundException e) { UILog.d("cannot find package " + packageName, e); return false; } }
Example 3
Source File: RxTextViewVertical.java From AndroidAnimationExercise with Apache License 2.0 | 6 votes |
@Override public View makeView() { TextView t = new TextView(mContext); t.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); t.setMaxLines(1); t.setPadding(mPadding, mPadding, mPadding, mPadding); t.setTextColor(textColor); t.setTextSize(mTextSize); t.setClickable(true); t.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (itemClickListener != null && textList.size() > 0 && currentId != -1) { itemClickListener.onItemClick(currentId % textList.size()); } } }); return t; }
Example 4
Source File: RobotItemAdapter.java From imsdk-android with MIT License | 6 votes |
@Override public View getView(int position, View convertView, ViewGroup parent) { LinearLayout lin = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.atom_ui_item_robot_tab, parent, false); final TextView textView = (TextView) lin.findViewById(R.id.content); final View line = lin.findViewById(R.id.line); Action item = (Action) getItem(position); if (position == 0) { line.setVisibility(View.INVISIBLE); } textView.setText(item.mainaction); textView.setTextSize(16); textView.setWidth(parent.getWidth() / getCount()); textView.setFocusable(true); textView.setClickable(true); if (item.subactions != null && item.subactions.size() > 0) { Drawable drawable = context.getResources().getDrawable(R.drawable.atom_ui_has_child_action); if (drawable != null) { drawable.setBounds(10, 0, 20, 20); textView.setCompoundDrawables(drawable, null, null, null); } } return lin; }
Example 5
Source File: TextPopup.java From mappwidget with Apache License 2.0 | 6 votes |
public TextPopup(Context context, ViewGroup parentView) { super(context, parentView); text = new TextView(context); text.setPadding((int)(PADDING_LEFT * dipScaleFactor), (int)(PADDING_TOP * dipScaleFactor), (int)(PADDING_RIGHT * dipScaleFactor), (int)(PADDING_BOTTOM * dipScaleFactor)); text.setBackgroundResource(R.drawable.map_description_background); text.setTextSize(DEF_TEXT_SIZE); text.setGravity(Gravity.LEFT|Gravity.CENTER_VERTICAL); text.setMaxEms(MAX_EMS); text.setTextColor(Color.WHITE); container.addView(text); text.setFocusable(true); text.setClickable(true); }
Example 6
Source File: UI.java From Android-Commons with Apache License 2.0 | 5 votes |
/** * Sets the given `TextView` to be read-only or read-and-write * * @param view a `TextView` or one of its subclasses * @param readOnly whether the view should be read-only or not */ public static void setReadOnly(final TextView view, final boolean readOnly) { view.setFocusable(!readOnly); view.setFocusableInTouchMode(!readOnly); view.setClickable(!readOnly); view.setLongClickable(!readOnly); view.setCursorVisible(!readOnly); }
Example 7
Source File: RunStopIndicatorPopupWindow.java From PhoneProfilesPlus with Apache License 2.0 | 5 votes |
RunStopIndicatorPopupWindow(final DataWrapper dataWrapper, final Activity activity) { super(R.layout.popup_window_run_stop_indicator, R.string.editor_activity_targetHelps_trafficLightIcon_title, activity); // Disable default animation //setAnimationStyle(0); final TextView textView = popupView.findViewById(R.id.run_stop_indicator_popup_window_important_info); textView.setClickable(true); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intentLaunch = new Intent(activity, ImportantInfoActivity.class); intentLaunch.putExtra(ImportantInfoActivity.EXTRA_SHOW_QUICK_GUIDE, false); intentLaunch.putExtra(ImportantInfoActivity.EXTRA_SCROLL_TO, R.id.activity_info_notification_event_not_started); activity.startActivity(intentLaunch); dismiss(); } }); final SwitchCompat checkBox = popupView.findViewById(R.id.run_stop_indicator_popup_window_checkbox); checkBox.setChecked(Event.getGlobalEventsRunning()); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { if (dataWrapper != null) dataWrapper.runStopEventsWithAlert(activity, checkBox, isChecked); } }); }
Example 8
Source File: DepositRefundIssueActivity.java From Mobike with Apache License 2.0 | 5 votes |
private void selectPayType(View view) { mTvWeixin.setBackgroundResource(R.color.bg_color); mTvAlipay.setBackgroundResource(R.color.bg_color); mTvWeixin.setTextColor(getResources().getColor(R.color.black)); mTvAlipay.setTextColor(getResources().getColor(R.color.black)); mTvWeixin.setClickable(true); mTvAlipay.setClickable(true); TextView tv = (TextView) view; tv.setBackgroundResource(R.color.red); tv.setClickable(false); tv.setTextColor(getResources().getColor(R.color.white)); currentpaytype = Integer.valueOf((String) tv.getTag()); }
Example 9
Source File: ViewCore.java From TitleBar with Apache License 2.0 | 5 votes |
static TextView newRightView(Context context) { TextView rightView = new TextView(context); rightView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)); rightView.setGravity(Gravity.CENTER_VERTICAL); rightView.setFocusable(true); rightView.setClickable(true); rightView.setSingleLine(); rightView.setEllipsize(TextUtils.TruncateAt.END); return rightView; }
Example 10
Source File: ColorChooser.java From LaunchTime with GNU General Public License v3.0 | 5 votes |
private void makeColorPresetButton(int color) { FrameLayout outframe = new FrameLayout(getContext()); outframe.setBackgroundColor(Color.BLACK); outframe.setPadding(6,6,6,6); FrameLayout frame = new FrameLayout(getContext()); //frame.setPadding(6,6,6,6); //frame.setBackgroundColor(Color.BLACK); frame.setBackgroundResource(R.drawable.bwg); TextView c = new TextView(getContext()); c.setText(" "); c.setTextSize(22); c.setBackgroundColor(color); // if (color==Color.TRANSPARENT) { // c.setBackgroundResource(R.drawable.transparentgrid); // } c.setTag(color); c.setClickable(true); c.setOnClickListener(setColorListener); frame.addView(c); GridLayout.LayoutParams lp = new GridLayout.LayoutParams(); lp.setMargins(24, 16, 24, 16); outframe.setPadding(6,6,6,6); outframe.addView(frame); colorPresets.addView(outframe, lp); }
Example 11
Source File: GuardaInputLayout.java From guarda-android-wallets with GNU General Public License v3.0 | 5 votes |
private TextView getEmptyTextView(Context context) { TextView textView = new TextView(context); textView.setClickable(false); textView.setGravity(Gravity.CENTER); GridLayout.LayoutParams params = new GridLayout.LayoutParams(); params.setGravity(Gravity.FILL); params.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f); params.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f); textView.setLayoutParams(params); return textView; }
Example 12
Source File: LearnMoreFragment.java From SEAL-Demo with MIT License | 5 votes |
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View v = inflater.inflate(R.layout.learn_more_fragment, container, false); ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.title_fragment_learn_more_page); mLeanMoreLink = (TextView) v.findViewById(R.id.learnMoreQuestion); mLeanMoreLink.setClickable(true); mLeanMoreLink.setMovementMethod(LinkMovementMethod.getInstance()); String linkText = getString(R.string.learn_more_fragment_header_question)+" " + getString(R.string.learn_more_fragment_link_left) + URL + getString(R.string.learn_more_fragment_link_right); mLeanMoreLink.setText(Html.fromHtml(linkText)); return v; }
Example 13
Source File: MainActivity.java From douyin with Apache License 2.0 | 4 votes |
public void init(LinearLayout linearLayout1, CustomLinearLayout layout){ ListView listView = new ListView(this); listView.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT )); listView.setOnItemClickListener(this); InfoAdapter adapter = new InfoAdapter(this); adapter.setItems(getList()); listView.setAdapter(adapter); linearLayout1.addView(listView); String[] colors = new String[]{"#417BC7", "#6FA13E", "#DB9548", "#C8382E", "#753B94"}; // for (int i = 0; i < 10; i++){ // CustomLabelTextView customLabelTextView = new CustomLabelTextView( // this, // "测试文字", // "test"+i, // "#58575c", // CustomLabelTextView.randomColorString(colors)); // layout.addView(customLabelTextView); // } initModel(layout); for (VersionEnum versionEnum : VersionEnum.values()){ CustomLabelTextView customLabelTextView = new CustomLabelTextView( this, versionEnum.isSupported() ? "已支持版本" : "不支持版本", versionEnum.getVersion(), "#58575c", CustomLabelTextView.randomColorString(colors)); layout.addView(customLabelTextView); } TextView tv_left = new TextView(this); tv_left.setText("测试"); tv_left.setTextColor(Color.WHITE); tv_left.setClickable(true); tv_left.setPadding(dp2px(10), dp2px(2), dp2px(10), dp2px(2)); GradientDrawable drawable1 = ViewUtil.createGradientDrawableRadius(2, new float[]{14, 14, 0, 0, 0, 0, 14, 14}, Color.MAGENTA); drawable1.setColor(ViewUtil.createColorStateList( Color.parseColor("#58575c"), Color.parseColor("#ae58575c"), Color.parseColor("#58575c"), Color.parseColor("#a158575c"))); tv_left.setBackground(drawable1); LinearLayout.LayoutParams tv_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, dp2px(24)); tv_left.setLayoutParams(tv_params); layout.addView(tv_left); PlusButton plusButton = new PlusButton(this); plusButton.setText("测试按钮"); plusButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "点击事件", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this, TestActivity.class); MainActivity.this.startActivity(intent); } }); layout.addView(plusButton); }
Example 14
Source File: PtrFrameLayout.java From android-Ultra-Pull-To-Refresh with MIT License | 4 votes |
@Override protected void onFinishInflate() { final int childCount = getChildCount(); if (childCount > 2) { throw new IllegalStateException("PtrFrameLayout can only contains 2 children"); } else if (childCount == 2) { if (mHeaderId != 0 && mHeaderView == null) { mHeaderView = findViewById(mHeaderId); } if (mContainerId != 0 && mContent == null) { mContent = findViewById(mContainerId); } // not specify header or content if (mContent == null || mHeaderView == null) { View child1 = getChildAt(0); View child2 = getChildAt(1); if (child1 instanceof PtrUIHandler) { mHeaderView = child1; mContent = child2; } else if (child2 instanceof PtrUIHandler) { mHeaderView = child2; mContent = child1; } else { // both are not specified if (mContent == null && mHeaderView == null) { mHeaderView = child1; mContent = child2; } // only one is specified else { if (mHeaderView == null) { mHeaderView = mContent == child1 ? child2 : child1; } else { mContent = mHeaderView == child1 ? child2 : child1; } } } } } else if (childCount == 1) { mContent = getChildAt(0); } else { TextView errorView = new TextView(getContext()); errorView.setClickable(true); errorView.setTextColor(0xffff6600); errorView.setGravity(Gravity.CENTER); errorView.setTextSize(20); errorView.setText("The content view in PtrFrameLayout is empty. Do you forget to specify its id in xml layout file?"); mContent = errorView; addView(mContent); } if (mHeaderView != null) { mHeaderView.bringToFront(); } super.onFinishInflate(); }
Example 15
Source File: WheelViewDialog.java From WheelView with Apache License 2.0 | 4 votes |
private void init() { LinearLayout layout = new LinearLayout(mContext); layout.setOrientation(LinearLayout.VERTICAL); layout.setPadding(WheelUtils.dip2px(mContext, 20), 0, WheelUtils.dip2px(mContext, 20), 0); mTitle = new TextView(mContext); mTitle.setTextColor(WheelConstants.DIALOG_WHEEL_COLOR); mTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16); mTitle.setGravity(Gravity.CENTER); LinearLayout.LayoutParams titleParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, WheelUtils.dip2px(mContext, 50)); layout.addView(mTitle, titleParams); mLine1 = new View(mContext); mLine1.setBackgroundColor(WheelConstants.DIALOG_WHEEL_COLOR); LinearLayout.LayoutParams lineParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, WheelUtils.dip2px(mContext, 2)); layout.addView(mLine1, lineParams); mWheelView = new WheelView(mContext); mWheelView.setSkin(WheelView.Skin.Holo); mWheelView.setWheelAdapter(new ArrayWheelAdapter(mContext)); mStyle = new WheelView.WheelViewStyle(); mStyle.textColor = Color.GRAY; mStyle.selectedTextZoom = 1.2f; mWheelView.setStyle(mStyle); mWheelView.setOnWheelItemSelectedListener((position, text) -> { mSelectedPos = position; mSelectedText = text; }); ViewGroup.MarginLayoutParams wheelParams = new ViewGroup.MarginLayoutParams(LinearLayout.LayoutParams .MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layout.addView(mWheelView, wheelParams); mLine2 = new View(mContext); mLine2.setBackgroundColor(WheelConstants.DIALOG_WHEEL_COLOR); LinearLayout.LayoutParams line2Params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, WheelUtils.dip2px(mContext, 1f)); layout.addView(mLine2, line2Params); mButton = new TextView(mContext); mButton.setTextColor(WheelConstants.DIALOG_WHEEL_COLOR); mButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12); mButton.setGravity(Gravity.CENTER); mButton.setClickable(true); mButton.setOnClickListener(this); mButton.setText("OK"); LinearLayout.LayoutParams buttonParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, WheelUtils.dip2px(mContext, 45)); layout.addView(mButton, buttonParams); mDialog = new AlertDialog.Builder(mContext).create(); mDialog.setView(layout); mDialog.setCanceledOnTouchOutside(false); }
Example 16
Source File: CenteredDrawableButton.java From CenteredDrawableButton with Apache License 2.0 | 4 votes |
private void initializeView(Context context, AttributeSet attrs, int defStyleAttr) { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CenteredDrawableButton, defStyleAttr, 0); Drawable drawableLeft = a.getDrawable(R.styleable.CenteredDrawableButton_drawableLeft); Drawable drawableRight = a.getDrawable(R.styleable.CenteredDrawableButton_drawableRight); Drawable drawableTop = a.getDrawable(R.styleable.CenteredDrawableButton_drawableTop); Drawable drawableBottom = a.getDrawable(R.styleable.CenteredDrawableButton_drawableBottom); int drawablePadding = a.getDimensionPixelSize(R.styleable.CenteredDrawableButton_drawablePadding, 0); CharSequence text = a.getText(R.styleable.CenteredDrawableButton_text); int textColor = a.getColor(R.styleable.CenteredDrawableButton_textColor, -1); ColorStateList textColorStateList = a.getColorStateList(R.styleable.CenteredDrawableButton_textColor); int textSize = a.getDimensionPixelSize(R.styleable.CenteredDrawableButton_textSize, 0); int textStyle = a.getInt(R.styleable.CenteredDrawableButton_textStyle, 0); textView = new TextView(context, attrs); textView.setDuplicateParentStateEnabled(true); textView.setClickable(false); textView.setText(text); textView.setBackgroundColor(getResources().getColor(android.R.color.transparent)); if (textColor >= 0) { textView.setTextColor(textColor); } if (textColorStateList != null) { textView.setTextColor(textColorStateList); } if (textSize > 0) { textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); } textView.setCompoundDrawablesWithIntrinsicBounds(drawableLeft, drawableTop, drawableRight, drawableBottom); textView.setCompoundDrawablePadding(drawablePadding); Typeface tf = Typeface.defaultFromStyle(textStyle); textView.setTypeface(tf); RelativeLayout.LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.CENTER_IN_PARENT); textView.setLayoutParams(params); textView.setGravity(Gravity.CENTER_VERTICAL); addView(textView); a.recycle(); }
Example 17
Source File: TicTacToeView.java From RIBs with Apache License 2.0 | 4 votes |
@Override public void addCross(BoardCoordinate xy) { TextView textView = imageButtons[xy.getX()][xy.getY()]; textView.setText("x"); textView.setClickable(false); }
Example 18
Source File: PtrFrameLayout.java From LiveSourceCode with Apache License 2.0 | 4 votes |
@Override protected void onFinishInflate() { final int childCount = getChildCount(); if (childCount > 2) { throw new IllegalStateException("PtrFrameLayout can only contains 2 children"); } else if (childCount == 2) { if (mHeaderId != 0 && mHeaderView == null) { mHeaderView = findViewById(mHeaderId); } if (mContainerId != 0 && mContent == null) { mContent = findViewById(mContainerId); } // not specify header or content if (mContent == null || mHeaderView == null) { View child1 = getChildAt(0); View child2 = getChildAt(1); if (child1 instanceof PtrUIHandler) { mHeaderView = child1; mContent = child2; } else if (child2 instanceof PtrUIHandler) { mHeaderView = child2; mContent = child1; } else { // both are not specified if (mContent == null && mHeaderView == null) { mHeaderView = child1; mContent = child2; } // only one is specified else { if (mHeaderView == null) { mHeaderView = mContent == child1 ? child2 : child1; } else { mContent = mHeaderView == child1 ? child2 : child1; } } } } } else if (childCount == 1) { mContent = getChildAt(0); } else { TextView errorView = new TextView(getContext()); errorView.setClickable(true); errorView.setTextColor(0xffff6600); errorView.setGravity(Gravity.CENTER); errorView.setTextSize(20); errorView.setText("The content view in PtrFrameLayout is empty. Do you forget to specify its id in xml layout file?"); mContent = errorView; addView(mContent); } if (mHeaderView != null) { mHeaderView.bringToFront(); } super.onFinishInflate(); }
Example 19
Source File: SnackbarManager.java From pandroid with Apache License 2.0 | 4 votes |
private ToastNotifier makeCustomNotification(Activity activity, ToastType toastType, String label, String btnLabel, int drawableRes, int style, int duration, boolean undefinedLoad, final ToastListener listener) { if (duration < 0) duration = Snackbar.LENGTH_INDEFINITE; final Snackbar notif = Snackbar.make(activity.findViewById(android.R.id.content), label, duration); if (style == 0) { style = R.style.Toast; } TypedArray attributes = activity.obtainStyledAttributes(style, R.styleable.ToastAppearance); int textColor = attributes.getColor(R.styleable.ToastAppearance_toastTextColor, ContextCompat.getColor(activity, R.color.white)); int buttonTextColor = attributes.getColor(R.styleable.ToastAppearance_toastButtonTextColor, ContextCompat.getColor(activity, R.color.pandroid_green_dark)); int backgroundColor = attributes.getColor(R.styleable.ToastAppearance_toastBackground, ContextCompat.getColor(activity, R.color.pandroid_green)); notif.getView().setBackgroundColor(backgroundColor); ((TextView) notif.getView().findViewById(android.support.design.R.id.snackbar_text)).setTextColor(textColor); TextView actionView = ((TextView) notif.getView().findViewById(android.support.design.R.id.snackbar_action)); actionView.setTextColor(buttonTextColor); attributes.recycle(); notif.setCallback(new Snackbar.Callback() { @Override public void onDismissed(Snackbar snackbar, int event) { super.onDismissed(snackbar, event); if (listener != null) listener.onDismiss(); } }); Drawable drawable = null; if (drawableRes > 0) { drawable = ContextCompat.getDrawable(activity, drawableRes); } actionView.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, drawable, null); if (toastType == ToastType.ACTION && btnLabel != null) { notif.setAction(btnLabel, new View.OnClickListener() { @Override public void onClick(View view) { if (listener != null) listener.onActionClicked(); } }); } else if (drawableRes > 0) { actionView.setVisibility(View.VISIBLE); actionView.setClickable(false); actionView.setFocusableInTouchMode(false); actionView.setFocusable(false); actionView.setEnabled(false); } if (toastType == ToastType.LOADER) { ProgressWheel progressWheel = new ProgressWheel(activity); progressWheel.setId(R.id.snakebar_loader); if (undefinedLoad) progressWheel.spin(); progressWheel.setBarWidth((int) DeviceUtils.dpToPx(activity, 4)); progressWheel.setCircleRadius((int) DeviceUtils.dpToPx(activity, 30)); progressWheel.setBarColor(buttonTextColor); progressWheel.setLinearProgress(true); ((Snackbar.SnackbarLayout) notif.getView()).addView(progressWheel, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)); } notif.show(); lastShowNotif = notif; return new ToastNotifier() { @Override public void setProgress(int progress) { ProgressWheel loader = (ProgressWheel) notif.getView().findViewById(R.id.snakebar_loader); if (loader != null) { loader.setProgress(progress / 100f); } } @Override public void dismiss() { notif.dismiss(); } }; }
Example 20
Source File: HtmlUtils.java From materialup with Apache License 2.0 | 3 votes |
/** * Work around some 'features' of TextView and URLSpans. i.e. vanilla URLSpans do not react to * touch so we replace them with our own {@link io.plaidapp.ui.span * .TouchableUrlSpan} * & {@link io.plaidapp.util.LinkTouchMovementMethod} to fix this. * <p> * Setting a custom MovementMethod on a TextView also alters touch handling (see * TextView#fixFocusableAndClickableSettings) so we need to correct this. * * @param textView * @param input */ public static void setTextWithNiceLinks(TextView textView, CharSequence input) { textView.setText(input); textView.setMovementMethod(LinkTouchMovementMethod.getInstance()); textView.setFocusable(false); textView.setClickable(false); textView.setLongClickable(false); }