i have activity in app takes searchword , returns file names contain search term. trying modify code can split search term , show files contain of search terms. instance if search term "big dog" return files have "big" in title , files contain "dog" in title.
the part of code is:
if (f.isdirectory()){ return true; // don't discard subdirectories } else { string delimiter = " +"; /* delimiter */ searchname.searchname = searchname.searchname.touppercase(); //split search string string [] tempname = searchname.searchname.split(delimiter); //array file names stored boolean[] namestring = new boolean[tempname.length]; //counter int count; count = 0; for(int i=0; i<tempname.length; i++) { //while less tempname size store filename namestring array namestring[i] = name.touppercase().contains(tempname[i]); //add 1 count count = +1; //once count = tempname length can return of array values if (count == tempname.length){ return namestring[i]; } } } return false;
my java pretty basic , might missing obvious.
thank help
thank fast replies.
i think understand saying. have amended code show:
public boolean accept(file dir, string name) { file f = new file(dir, name); // form file path "dir/name". string delimiter = " "; /* delimiter */ searchname.searchname = searchname.searchname.touppercase(); //split search string// string [] tempname = searchname.searchname.split(delimiter); //array of booleans arraylist<boolean> matches = new arraylist<boolean>(); if (f.isdirectory()){ return true; // don't discard subdirectories } else { for(int i=0; i<tempname.length; i++) { // toast.maketext(getapplicationcontext(), (tempname[i]), toast.length_short).show(); matches.add(name.touppercase().contains(tempname[i])); } } return matches; }});
however in eclipse shows "return matches;" error "type mismatch: cannot convert arraylist boolean". if make suggested changes puts errors on "public boolean accept(file dir, string name) {" part. suggestions?
the function should returns boolean definition: public boolean accept(file dir, string name) return arraylist.
this want:
public boolean accept(file dir, string name) { file f = new file(dir, name); // form file path "dir/name". string delimiter = " "; /* delimiter */ searchname.searchname = searchname.searchname.touppercase(); //split search string// string [] tempname = searchname.searchname.split(delimiter); if (f.isdirectory()){ return true; // don't discard subdirectories } else { for(int i=0; i<tempname.length; i++){ // toast.maketext(getapplicationcontext(), (tempname[i]), toast.length_short).show(); if(name.touppercase().contains(tempname[i])) { return true; } } } return false; }