Би яаж TextView дээрх үг болгон дээр onTouchListeners ашиглаж болох вэ?

Би TextView дээрх үг бүрт onTouchListeners-ийг хуваарилахыг хүсч байна. (Интернет дээрх ямар нэгэн зүйлтэй холбох биш, харин апп доторх тоглоомын логикийг үргэлжлүүлэхийн тулд). Энэ үед миний тоглоомын ерөнхий үйл ажиллагаа бол TextView-ийг харах, үгэндээ хүрэх, хэрэв энэ нь таны хожсон зорилтот үг бол, өөрөөр хэлбэл өөрт хүрсэн текст дээр тулгуурлан өөр TextView-ийг ачаалах явдал юм. Одоо үүнийг хийх арга бол үг бүрийн ClickableSpans болон onClicks юм.

Гэхдээ би onTouchListeners-тэй байхыг илүүд үздэг тул touch_down дээр үгийн арын өнгийг өөрчилж, touch_up дээр тоглоомын логикийг илүү мэдрэмжтэй болгохын тулд хийж болно. Би үүнийг яаж хийж чадах вэ?

        final TextView defTV = (TextView) findViewById(R.id.defTV);
        text = new SpannableString(rv); // rv is the future clickable TextView text

        ClickableSpan clickableSpan = null;

        String regex = "\\w+";
        Pattern p = Pattern.compile(regex);

        Matcher matcher = p.matcher(text);
        while (matcher.find()) {
            final int begin = matcher.start();
            final int end = matcher.end();
            clickableSpan = new ClickableSpan() {

                public void onClick(View arg0) {

                    String lword = (String) text.subSequence(begin, end).toString();

                    if (lword.equalsIgnoreCase(targetword)) {
                        // WIN
                    } else {
                        // Build new TextView based on lword, start over
                    }

                }

            };

            text.setSpan(clickableSpan, begin, end, 0);

        }
9
задан skaffman 3 September 2011 в 10:19
поделиться