【问题标题】:Progress dialog spinner, spinning seamlessly进度对话框微调器,无缝旋转
【发布时间】:2014-03-07 13:24:21
【问题描述】:

进度对话框微调器正在无缝旋转。我希望它是这样的 - 用户单击“检查根”按钮,微调器将旋转 5 秒钟并显示“请稍候”消息,然后显示结果对话框。 请帮忙!

package com.maverick.checkforroot;

import com.stericson.RootTools.RootTools;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
private Handler mTimerHandler = new Handler();
private ProgressDialog mProgressDialog = null;
private Button Root;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView Manufacturer = (TextView) findViewById(R.id.Manufacturer);
    String Manu = android.os.Build.MANUFACTURER;;
    Manufacturer.setText(Manu);

    TextView tv1 = (TextView) findViewById(R.id.tv1);
    String Model = android.os.Build.MODEL;
    tv1.setText(Model);

    TextView Product = (TextView) findViewById(R.id.Product);
    String Pro = android.os.Build.PRODUCT;;
    Product.setText(Pro);
    final Runnable mTimerExecutor = null;

    Button Root = (Button) findViewById(R.id.Root);
    Root.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            mProgressDialog = ProgressDialog.show(MainActivity.this, "", "Please wait...", true);
            mTimerHandler.postDelayed(mTimerExecutor, 5000);

        }
    });
};

        public void run() {

            if (mProgressDialog != null) {
                mProgressDialog.dismiss();
            }

            if (RootTools.isAccessGiven()) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setTitle("Congratulations!");
                    builder.setMessage("You Have Root Access!");

                    builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });

                    AlertDialog dialog = builder.create();
                    dialog.show();
                }

            else  {
                 AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
                    builder1.setIcon(R.drawable.ic_launcher);
                    builder1.setTitle("Oops!");
                    builder1.setMessage("No Root Access!");
                    builder1.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int which) {

                            dialog.cancel();
                        }
                    });

                    AlertDialog dialog = builder1.create();
                    dialog.show();  


    };

    Button BusyBox = (Button) findViewById(R.id.BusyBox);
    BusyBox.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            if (RootTools.isBusyboxAvailable()) {
                Toast.makeText(MainActivity.this,"BusyBox Is Available!", Toast.LENGTH_LONG).show();

            } else {
                Toast.makeText(MainActivity.this,"No BusyBox!", Toast.LENGTH_LONG).show();

            }
        }
    });

}}

【问题讨论】:

    标签: android android-spinner


    【解决方案1】:

    您的代码似乎没问题。我不确定那有什么问题。!我想提出以下建议。值得一试。

        private static final int SHOW_PROGRESS = 0x1;
        private static final int STOP_PROGRESS = 0x2;
    
      Root.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
    
        mHandler.sendEmptyMessageDelayed(SHOW_PROGRESS);
        mHandler.sendEmptyMessage(STOP_PROGRESS, 5000);
            }
        });
    
    // Handler
    private Handler mHandler = new Handler() {
    
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            switch (msg.what) {
            case SHOW_PROGRESS:
                 // Show your progress Bar here.
                mHandler.removeMessages(SHOW_PROGRESS);
                break;
    
            case STOP_PROGRESS:
                progressDialog.dismiss();
                  if (RootTools.isAccessGiven()) {
                    AlertDialog.Builder builder = new         AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setTitle("Congratulations!");
                    builder.setMessage("You Have Root Access!");
    
                    builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
    
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
    
                    AlertDialog dialog = builder.create();
                    dialog.show();
                }
    
            else  {
                 AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this);
                    builder1.setIcon(R.drawable.ic_launcher);
                    builder1.setTitle("Oops!");
                    builder1.setMessage("No Root Access!");
                    builder1.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
    
                        public void onClick(DialogInterface dialog, int which) {
    
                            dialog.cancel();
                        }
                    });
    
                    AlertDialog dialog = builder1.create();
                    dialog.show();  
                mHandler.removeMessages(STOP_PROGRESS);
                break;
            }
            super.handleMessage(msg);
        }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2011-10-17
      • 2012-09-11
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多