我有一个 Customview ,其中包含一个用于读取unipenfile内容并返回手势的函数。在主Activity中我希望手动选择我的目录,然后我得到一个列表该目录中的文件。现在我想调用 ProgressDialog ,并在每个文件的新线程中获取手势并将其保存到我的手势库..。它显示 progressdialog 但它没有在我的手势库中保存手势?有人能告诉我是否有更好的方法吗?
这是Addgesture功能
public void addgestures()
{
count=0;
files=null;
if(dir.isDirectory())
{
files=dir.listFiles();
}
pd = ProgressDialog.show(this, "Working..", "adding files", true,false);
Thread thread = new Thread();
thread.start();
}
public void run() {
for( File aFile : files )
{
gest=cView.batchprocess(aFile.getPath());
if(gest==null)
Log.v("paths", aFile.getPath());
String name=dirname+"_"+count;
saveGesture(name, gest);
System.out.println(name+" "+"Success");
count++;
handler.sendEmptyMessage(0);
}
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
pd.dismiss();
}
};
这里cView只是Customview类的对象,即
cView = (customview)findViewById(R.id.customview1);
以下是customview
中 batchprocess 方法的代码public Gesture batchprocess(String file)
{
Filename=file;
flagScale=1; // Initially flagScale=1 to read the points from the file
dealloc(); //make the structures blank
makeShape(); //call the function
scale(); //call the scaling function
dealloc(); //make the structures blank again
flagScale=2; //will take the points from the arraylist
makeShape();
return my_final;
}
makehape,dealloc和scale 是customview类中的常规方法
和my_final是一个通过上述3函数获取的手势,截至目前方法批处理已正确完成,因为我之前使用单个文件对其进行了测试