线程和自定义视图

时间:2012-01-25 09:35:43

标签: android debugging

我有一个 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函数获取的手势,截至目前方法批处理已正确完成,因为我之前使用单个文件对其进行了测试

0 个答案:

没有答案