Xin chào tôi muốn biết làm thế nào để làm nổi bật tất cả các từ đó được nhập trong EditText và sẽ xuất hiện trong TextView bài này có liên quan đến một Highlight Textview Using EditTextHighlight All Words được tìm kiếm qua EditText
11
A
Trả lời
21
Say et này là EditText và tv là đối tượng TextView. Sử dụng đoạn mã sau:
public class MotivationalQuotesActivity extends Activity {
/** Called when the activity is first created. */
Button next;
EditText et;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) findViewById(R.id.et);
tv = (TextView) findViewById(R.id.tv);
tv.setText("The name of our country is Bangladesh. Bangladesh is a land of rivers.");
next = (Button) findViewById(R.id.button1);
next.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
tv.setText("The name of our country is Bangladesh. Bangladesh is a land of rivers.");
String ett =et.getText().toString();
String tvt =tv.getText().toString();
int ofe = tvt.indexOf(ett,0);
Spannable WordtoSpan = new SpannableString(tv.getText());
for(int ofs=0;ofs<tvt.length() && ofe!=-1;ofs=ofe+1)
{
ofe = tvt.indexOf(ett,ofs);
if(ofe == -1)
break;
else
{
WordtoSpan.setSpan(new BackgroundColorSpan(0xFFFFFF00), ofe, ofe+ett.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(WordtoSpan, TextView.BufferType.SPANNABLE);
}
}
}
});
}
}
Kết quả là:
0
Một cách dễ dàng và nhanh chóng làm nổi bật một văn bản, là sử dụng chuỗi thay thế phương pháp. Thay thế chuỗi mong muốn bằng thẻ phông chữ
Spanned strHTML= Html.fromHtml("<center>"+full_string.replaceAll(strSrch,"<font color='yellow'>"+strSrch+"</font>")+"</center><br/>");
TextView tv=(TextView) v.findViewById(R.id.txtPager);
tv.setText(strHTML,TextView.BufferType.SPANNABLE);
Các vấn đề liên quan
- 1. resuls tìm kiếm Highlight với chuỗi phần
- 2. MySQL - Tìm kiếm với UNION ALL and GROUP BY
- 3. tab Highlight trong menu
- 4. Nhiều grep tìm kiếm/bỏ qua mẫu
- 5. Cách tìm kiếm thông qua NSMutableArray
- 6. Tìm kiếm tập lệnh R qua HTTPS
- 7. Tìm kiếm động thông qua một mảng
- 8. Tìm kiếm LINQ bỏ qua nulls
- 9. Tìm kiếm thông qua thẻ bằng Ransack
- 10. Tìm các thành phần với webkit-tap-highlight
- 11. Danh sách "Stop words" cho tiếng Anh?
- 12. Twitter Type Ahead Highlight Selection
- 13. Vim Conceal highlight
- 14. Jvectormap highlight Nhiều quốc gia
- 15. Tìm kiếm MySQL và tìm kiếm toàn văn bản
- 16. Ẩn bàn phím khi tìm kiếm được gửi hoặc đề xuất tìm kiếm được chọn
- 17. Web Speech API Tuỳ chỉnh Words
- 18. Chuỗi tìm kiếm JPQL (JPA) tìm kiếm
- 19. php apc_fetch all ids
- 20. Solr tìm kiếm hashtag hoặc đề cập
- 21. Tìm kiếm Văn bản Nhanh Qua Nhật ký
- 22. Tìm kiếm chuỗi Java bỏ qua các dấu
- 23. Tìm kiếm hình ảnh thông minh qua Powershell
- 24. Tìm kiếm thông qua các tệp PDF với PHP
- 25. MySQL - Tìm kiếm một trường bỏ qua dấu cách
- 26. tìm kiếm Jackrabbit qua các nút tham gia
- 27. Cách tìm kiếm thông qua các tệp mã VBA
- 28. Cách giảm thời gian tìm kiếm clang_complete thông qua tăng
- 29. Vấn đề với tìm kiếm mặt
- 30. Rails Active Record tìm thấy (: all,: order =>) issue
cảm ơn bạn rất nhiều, bạn thực sự giúp tôi với dự án của mình .. – Mordiggian
Tôi có thêm 1 câu hỏi, cách xóa hoặc đặt lại đánh dấu trong từ? – Mordiggian
Nếu bạn muốn xóa đánh dấu, bạn có thể sử dụng 2 phương pháp: ** Đầu tiên: ** Đặt văn bản thô thành TextView như 'tv.setText (" Tên quốc gia của chúng tôi là Bangladesh. Bangladesh là vùng đất của các con sông. ");" ** Thứ hai: ** Sử dụng phương pháp làm nổi bật ở trên nhưng sử dụng màu nền (giả sử ** màu đen ** trong trường hợp này) làm màu nổi bật như: 'WordtoSpan.setSpan (new BackgroundColorSpan (color) .black), ofe, ofe + ett.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); ' –