तो मैंने जेम्स मूर की टिप्पणी here में लिंक के माध्यम से इसे हल करने का अंत किया। मैं उस लिंक में टोनी ब्लूज़ के समाधान का उपयोग कर समाप्त हुआ। यह समाधान यह है:
1.) टेक्स्टव्यू पर ऑन टचलिस्टर सेट करें।
2.) TextView का लेआउट प्राप्त करें।
3.) घटना के माध्यम से स्पर्श के एक्स, वाई निर्देशांक प्राप्त करें।
4.) उस घटना के आधार पर लाइन और ऑफ़सेट (अनुक्रमणिका) खोजें।
निम्नलिखित कोड उदाहरण है कि कैसे एक लॉग इन करें होगा (वर्बोज़ में) एक स्पर्श एक TextView नामित manip दिया की सूचकांक:
manip.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Layout layout = ((TextView) v).getLayout();
int x = (int)event.getX();
int y = (int)event.getY();
if (layout!=null){
int line = layout.getLineForVertical(y);
int offset = layout.getOffsetForHorizontal(line, x);
Log.v("index", ""+offset);
}
return true;
}
});
संपादित करें: राहुल Mandaliya मेरा ध्यान करने के लिए यह लाया गया है कि इस कोड असफल हो जायेगी यदि टेक्स्ट व्यू पर पैडिंग है। दुर्भाग्यवश, यह बहुत लंबा समय रहा है क्योंकि मैंने कोई एंड्रॉइड कोड लिखा है, इसलिए मुझे यकीन नहीं है कि इस उत्तर को उस खाते में कैसे अपडेट किया जाए। सहजता से, ऐसा लगता है कि यदि आप पैडिंग मान जानते हैं तो क्लिक ईवेंट के खिलाफ आप किसी प्रकार की जांच कर सकते हैं। इस एज केस पर अधिक सहायक होने में सक्षम होने के बारे में खेद है। :-(
ऐसा लगता है कि पूछ रहे हैं http://stackoverflow.com/questions/2302867/android-how- टू-निर्धारित-कैरेक्टर-इंडेक्स-ऑफ-ए-टच-इवेंट-पोजिशन-इन-टेक्स्टव्यू –