PDA

View Full Version : چگونگی استفاده از ترد هنگام جستجو در فایل های گوشی



mortex3000
سه شنبه 27 مرداد 1394, 19:56 عصر
سلام. من یه کد نوشتم که توی کل فایلهای گوشی جستجو انجام میده و فایلهای مورد نظر رو نمایش میده (براساس نام یا ...)
اما کد با تاخیر عمل میکنه و باعث میشه قسمتهای دیگه برنامه از کار بیفتن و وقتی هم میخوام از ترد استفاده کنم ارور میده. لطفا راهنماییم کنید که چطور میتونم اینکار رو انجام بدم
این هم کد:


btn.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
SearchByName("/sdcard/", "Wallpaper");
}
});


public void SearchByName(String path, String fileName) {
File root_dir = new File(path);
String[] list = root_dir.list();


if (list != null && root_dir.canRead()) {
int len = list.length;
for (int i = 0; i < len; i++) {
File check = new File(path + "/" + list[i]);
String name = check.getName();
if (check.isFile() && name.toLowerCase().
contains(fileName.toLowerCase())) {
edt.setText(edt.getText().toString() + check.getPath());
}
else if (check.isDirectory()) {
if (name.toLowerCase().contains(fileName.toLowerCase( ))) {
edt.setText(edt.getText().toString() + check.getPath());
}
else if (check.canRead() && !path.equals("/"))
SearchByName(check.getAbsolutePath(), fileName);
}
}
}
}