Android 安卓一键点击两次自动

Android 安卓一键点击两次自动,android,Android,我创建了一个使用打印机无线连接并进行打印的应用程序。当我点击按钮时,它将只打印一次。单击后我想再打印一次。所以这意味着,当我点击1次5秒后,这个按钮将自动点击,而不会再次点击。下面是我的代码,它正在工作,但不停。我想经过2次处理后,它会停止线程。你有什么解决办法吗?请帮忙。谢谢下面是我的代码: public void buttonPrintClicked(){ buttonPrint.setOnClickListener(new View.OnClickListener() {

我创建了一个使用打印机无线连接并进行打印的应用程序。当我点击按钮时,它将只打印一次。单击后我想再打印一次。所以这意味着,当我点击1次5秒后,这个按钮将自动点击,而不会再次点击。下面是我的代码,它正在工作,但不停。我想经过2次处理后,它会停止线程。你有什么解决办法吗?请帮忙。谢谢下面是我的代码:

public void buttonPrintClicked(){
    buttonPrint.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonPrintGotClick();
        }
    });
}

// Do something when button print was click
private void buttonPrintGotClick(){

    int noOfSecond = 5;
    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            //TODO Set button auto perform click.
            buttonPrint.performClick();

            // Close current Activity
            get_order_Activity.this.finish();
        }
    }, noOfSecond * 500);

    // Delete Previous PDF file first before create new again
    deleteFileFromStorage();

    progressDialog = new ProgressDialog(get_order_Activity.this);
    progressDialog.setMessage("Please wait");
    bitmap = loadBitmapFromView(linearLayout_PDF, linearLayout_PDF.getWidth(), linearLayout_PDF.getHeight());
    createPdf();

    // Open File from Storage
    openFileFromStorage();
}

我认为您需要将
postdayed
放入
onClick
回调中。这是我编辑过的代码

public void buttonPrintClicked(){
    buttonPrint.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonPrintGotClick();
            int noOfSecond = 5;
            new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    buttonPrintGotClick();
                    get_order_Activity.this.finish();
                }
            }, noOfSecond * 500);

        }
    });
}

// Do something when button print was click
private void buttonPrintGotClick(){
    // Delete Previous PDF file first before create new again
    deleteFileFromStorage();

    progressDialog = new ProgressDialog(get_order_Activity.this);
    progressDialog.setMessage("Please wait");
    bitmap = loadBitmapFromView(linearLayout_PDF, linearLayout_PDF.getWidth(), linearLayout_PDF.getHeight());
    createPdf();
    // Open File from Storage
    openFileFromStorage();
}

我认为您需要将
postdayed
放入
onClick
回调中。这是我编辑过的代码

public void buttonPrintClicked(){
    buttonPrint.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonPrintGotClick();
            int noOfSecond = 5;
            new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    buttonPrintGotClick();
                    get_order_Activity.this.finish();
                }
            }, noOfSecond * 500);

        }
    });
}

// Do something when button print was click
private void buttonPrintGotClick(){
    // Delete Previous PDF file first before create new again
    deleteFileFromStorage();

    progressDialog = new ProgressDialog(get_order_Activity.this);
    progressDialog.setMessage("Please wait");
    bitmap = loadBitmapFromView(linearLayout_PDF, linearLayout_PDF.getWidth(), linearLayout_PDF.getHeight());
    createPdf();
    // Open File from Storage
    openFileFromStorage();
}

一个答案是正确的方向。这是完美的工作。谢谢一个答案是正确的方向。这是完美的工作。谢谢