2010-07-11 21 views
6

Để bắt đầu, tôi là Nhà phát triển C++/Qt nhảy vào phát triển Android/Java, vì vậy xin đừng cho rằng tôi biết bất kỳ điều gì. :) Vì vậy, tôi có một ứng dụng với một TextView chứa trong một ScrollView. Văn bản có trong TextView là kết quả của truy vấn web từ ứng dụng máy chủ web của tôi. Tùy thuộc vào truy vấn, văn bản có thể khá dài. Tôi muốn thực hiện một tính năng tìm kiếm trên văn bản nơi người dùng nhập một chuỗi văn bản để tìm kiếm và nếu chuỗi văn bản được tìm thấy, ScrollView sẽ cuộn TextView để đảm bảo chuỗi con đã nhập hiển thị và tôi muốn văn bản được đánh dấu. Tôi nghĩ tôi biết cách làm nổi bật chuỗi con văn bản, tôi biết cách cho ScrollView cuộn đến một số dòng cụ thể trong TextView, nhưng đối với cuộc sống của tôi, tôi không thể tìm ra cách để tìm ra số dòng nào cuộn đến để đảm bảo chuỗi con của tôi hiển thị. Tức là, tôi muốn truy vấn chế độ xem văn bản để cung cấp cho tôi số dòng mà chuỗi con đầu tiên xuất hiện tại. Cuối cùng, tôi cũng muốn thực hiện một tìm kiếm tiếp theo mà đi đến sự xuất hiện tiếp theo của chuỗi con. Loại giống như tính năng Tìm trong Firefox. Bất kỳ trợ giúp được đánh giá rất cao. Cảm ơn trước.Cuộn TextView trong ScrollView đến chuỗi con văn bản cụ thể

Trả lời

8

Bạn cần tìm vị trí của chuỗi con trong văn bản, ví dụ: với String.indexOf(). Khi bạn biết vị trí đó, bạn có thể tra cứu đúng dòng trong TextView bằng cách sử dụng hàm Layout.getLineForOffset():

int offset=myString.indexOf("search string"); 
int line = myTextView.getLayout().getLineForOffset(offset); 
Các vấn đề liên quan