Java Android动画(进度条)不按顺序加载

Java Android动画(进度条)不按顺序加载,java,android,android-animation,Java,Android,Android Animation,我试图加载一系列的5个点,以表明正在取得的进展,但他们没有按顺序加载,因为他们应该,我不知道为什么 资料来源: public class UpdateActivity extends Activity implements OnClickListener { public static int TotalSteps = 8; private TelephonyManager tm; private Button mUpdateButton = null; pr

我试图加载一系列的5个点,以表明正在取得的进展,但他们没有按顺序加载,因为他们应该,我不知道为什么

资料来源:

public class UpdateActivity extends Activity implements OnClickListener {

    public static int TotalSteps = 8;
    private TelephonyManager tm;

    private Button mUpdateButton = null;
    private Button mAssistUpdateButton = null;
    private Button mAssistInstrButton = null;
    private TextView mReadAgainButton = null;
    private int mInstructionNumber = 0;
    AlertDialog mConfirmAlert = null;
    private NetworkTask task;
    private AnimationDrawable loadingAnimation;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        int networkType = tm.getNetworkType();
        int phoneType = tm.getPhoneType();
        int version = android.os.Build.VERSION.SDK_INT;
        if (phoneType == TelephonyManager.PHONE_TYPE_CDMA
                || (phoneType != TelephonyManager.PHONE_TYPE_GSM
                        && networkType != TelephonyManager.NETWORK_TYPE_GPRS
                        && networkType != TelephonyManager.NETWORK_TYPE_EDGE
                        && networkType != TelephonyManager.NETWORK_TYPE_HSDPA
                        && networkType != TelephonyManager.NETWORK_TYPE_HSPA
                        && networkType != TelephonyManager.NETWORK_TYPE_HSPAP
                        && networkType != TelephonyManager.NETWORK_TYPE_HSUPA
                        && networkType != TelephonyManager.NETWORK_TYPE_UMTS && networkType != TelephonyManager.NETWORK_TYPE_LTE)) {
            // If the phone type is CDMA or
            // the phone phone type is not GSM and the network type is none of
            // the network types indicated in the statement
            // Display incompatibility message
            showAlert(getString(R.string.incomp_sm_dialog));
            // Network type is looked because some tablets have no phone type.
            // We rely on network type in such cases
        } else if (!(tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT
                || (tm.getSimOperator())
                        .equals(getString(R.string.numeric_tmo)) || (tm
                    .getSimOperator()).equals(getString(R.string.numeric_att)))) {
            // if SIM is present and is NOT a T-Mo network SIM,
            // display Error message alert indicating to use SM SIM
            showAlert(getString(R.string.insert_sm_dialog));
        }// No SIM or SIM with T-Mo MNC MCC present
        else if (version < VERSION_CODES.ICE_CREAM_SANDWICH) {
            // Initial UI setup for versions lower than ICS
            setContentView(R.layout.update);
            mUpdateButton = (Button) findViewById(R.id.update_button);

            mUpdateButton.setOnClickListener(this);
        } else {// ICS and up

            // task.execute();

            if ((tm.getSimOperator()).equals(getString(R.string.numeric_tmo))
                    || (tm.getSimOperator())
                            .equals(getString(R.string.numeric_att))) {

                task = new NetworkTask();
                task.execute("");
                // Device has T-Mo network SIM card MCC and MNC correctly
                // populated
                // Reduce number of steps to 6
                TotalSteps = 6;
            }
            //
            // Initial UI setup for ICS and up

            setContentView(R.layout.updating);
            // This image view has the updating text to be progressively
            // updated
            // with dots addition
            ImageView loading = (ImageView) findViewById(R.id.loading_empty1);

            // Set updating button to drawable animation
            loading.setBackgroundResource(R.drawable.updating1);
            loadingAnimation = (AnimationDrawable) loading.getBackground();
            loadingAnimation.setOneShot(false);
            loadingAnimation.start();

            ImageView loading2 = (ImageView) findViewById(R.id.loading_empty2);

            // Set updating button to drawable animation
            loading2.setBackgroundResource(R.drawable.updating2);
            loadingAnimation = (AnimationDrawable) loading2.getBackground();


            loadingAnimation.start();

            ImageView loading3 = (ImageView) findViewById(R.id.loading_empty3);

            // Set updating button to drawable animation
            loading3.setBackgroundResource(R.drawable.updating3);
            loadingAnimation = (AnimationDrawable) loading3.getBackground();


            loadingAnimation.start();


            ImageView loading4 = (ImageView) findViewById(R.id.loading_empty4);

            // Set updating button to drawable animation
            loading4.setBackgroundResource(R.drawable.updating4);
            loadingAnimation = (AnimationDrawable) loading4.getBackground();


            loadingAnimation.start();


            ImageView loading5 = (ImageView) findViewById(R.id.loading_empty5);

            // Set updating button to drawable animation
            loading5.setBackgroundResource(R.drawable.updating5);
            loadingAnimation = (AnimationDrawable) loading5.getBackground();


            loadingAnimation.start();
            // String assistUpdate = getString(R.string.apn_app_text_cta2);
            // CharSequence styledText = Html.fromHtml(assistUpdate);
            // xtView assistText = (TextView)
            // findViewById(R.id.apn_app_text_cta2);
            // sistText.setText(styledText);
            // mAssistUpdateButton = (Button)
            // findViewById(R.id.assist_update_btn);
            //mAssistUpdateButton.setOnClickListener(this);
        }
    }

    public void onClick(View v) {

        if (v == mUpdateButton) {
            // Update button for versions lower than ICS is selected
            // setContentView(R.layout.updating);
            onClickMethod(v);

            Intent i = new Intent(this, ConfigFinalActivity.class);
            startActivity(i);
            finish();
        } else if (v == mAssistUpdateButton) {

            // Update button for ICS and up is selected
            // Get the TextView in the Assist Update UI
            TextView tv = (TextView) findViewById(R.id.apn_app_text_cta2);
            String text = "";
            CharSequence styledText = text;
            switch (mInstructionNumber) {
            case 0:
                // Retrieve the instruction string resource corresponding the
                // 2nd set of instructions
                text = String.format(getString(R.string.apn_app_text_instr),
                        TotalSteps);
                styledText = Html.fromHtml(text);
                // Update the TextView with the correct set of instructions
                tv.setText(styledText);
                // Increment instruction number so the correct instructions
                // string resource can be retrieve the next time the update
                // button is pressed
                mInstructionNumber++;
                break;
            case 1:
                text = getString(R.string.apn_app_text_instr2);
                styledText = Html.fromHtml(text);
                tv.setText(styledText);
                // Increment instruction number so the correct instructions
                // string resource can be retrieve the next time the update
                // button is pressed
                mInstructionNumber++;
                break;
            case 2:
                // Final set of instructions-Change to the corresponding layout

                setContentView(R.layout.assist_instructions);
                String assistUpdateInstr = String.format(
                        getString(R.string.apn_app_text_instr3), TotalSteps);
                styledText = Html.fromHtml(assistUpdateInstr);
                TextView assistInstrText = (TextView) findViewById(R.id.updated_text);
                assistInstrText.setText(styledText);
                mAssistInstrButton = (Button) findViewById(R.id.assist_instr_btn);
                mReadAgainButton = (TextView) findViewById(R.id.read_again_btn);
                mAssistInstrButton.setOnClickListener(this);
                mReadAgainButton.setOnClickListener(this);
            }
        } else if (v == mAssistInstrButton) {
            // "LET'S DO THIS" Button in final instructions screen for ICS and
            // up is selected
            // Create ConfigActivity Intent
            Intent i = new Intent(this, ConfigFinalActivity.class);
            // Invoke ConfigActivity Intent to start the assisted update
            startActivity(i);
            finish();
        } else if (v == mReadAgainButton) {
            // go back to 1st set of instructions if read again is selected
            mInstructionNumber = 0;
            setContentView(R.layout.assist_update);
            String assistUpdate = getString(R.string.apn_app_text_cta2);
            CharSequence styledText = Html.fromHtml(assistUpdate);
            TextView assistText = (TextView) findViewById(R.id.apn_app_text_cta2);
            assistText.setText(styledText);
            mAssistUpdateButton = (Button) findViewById(R.id.assist_update_btn);
            mAssistUpdateButton.setOnClickListener(this);
        }
    }

    public void onClickMethod(View v) {
        mUpdateButton = (Button) findViewById(R.drawable.btn_update_active_hdpi);

    }

    private void showAlert(String message) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(message).setPositiveButton("OK",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        UpdateActivity.this.finish();
                    }
                });
        mConfirmAlert = builder.create();
        mConfirmAlert.show();
    }

}
公共类UpdateActivity扩展了活动实现OnClickListener{
公共静态int TotalSteps=8;
专用电话管理器tm;
私有按钮mUpdateButton=null;
private Button-DateButton=null;
私有按钮mAssistInstrButton=null;
私有文本视图mReadAgainButton=null;
私有int mInstructionNumber=0;
AlertDialog mConfirmAlert=null;
专用网络任务;
私有动画绘制可加载动画;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
tm=(电话管理器)getSystemService(电话服务);
int networkType=tm.getNetworkType();
int phoneType=tm.getPhoneType();
int version=android.os.Build.version.SDK\u int;
if(phoneType==TelephonyManager.PHONE\u TYPE\u CDMA
||(phoneType!=TelephonyManager.PHONE\u TYPE\u GSM
&&networkType!=TelephonyManager.NETWORK\u TYPE\u GPRS
&&networkType!=TelephonyManager.NETWORK\u TYPE\u EDGE
&&networkType!=TelephonyManager.NETWORK\u TYPE\u HSDPA
&&networkType!=TelephonyManager.NETWORK\u TYPE\u HSPA
&&networkType!=TelephonyManager.NETWORK\u TYPE\u HSPAP
&&networkType!=TelephonyManager.NETWORK\u TYPE\u HSUPA
&&networkType!=TelephonyManager.NETWORK\u TYPE\u UMTS&&networkType!=TelephonyManager.NETWORK\u TYPE\u LTE)){
//如果电话类型为CDMA或
//电话类型不是GSM,网络类型不是
//声明中指示的网络类型
//显示不兼容消息
showAlert(getString(R.string.incomp_sm_对话框));
//查看网络类型是因为某些平板电脑没有电话类型。
//在这种情况下,我们依赖于网络类型
}如果(!(tm.getSimState()==TelephonyManager.SIM_STATE_缺席,则为else
||(tm.getSimOperator())
.equals(getString(R.string.numeric_tmo))| |(tm
.getSimOperator()).equals(getString(R.string.numeric_att))){
//如果SIM卡存在且不是T-Mo网络SIM卡,
//显示错误消息警报,指示使用SM SIM卡
showAlert(getString(R.string.insert_sm_对话框));
}//没有SIM卡或存在T-Mo跨国公司MCC的SIM卡
否则如果(版本<版本代码.冰淇淋\u三明治){
//低于ICS版本的初始UI设置
setContentView(R.layout.update);
mUpdateButton=(按钮)findViewById(R.id.update_按钮);
mUpdateButton.setOnClickListener(此);
}else{//ICS及以上
//task.execute();
if((tm.getSimOperator()).equals(getString(R.string.numeric_tmo))
||(tm.getSimOperator())
.equals(getString(R.string.numeric_att))){
任务=新的网络任务();
任务。执行(“”);
//设备正确安装了T-Mo网络SIM卡MCC和MNC
//人口
//将步骤数减少到6个
总步数=6;
}
//
//ICS及以上的初始UI设置
setContentView(R.layout.update);
//此图像视图具有要逐步更新的文本
//更新
//加点
ImageView加载=(ImageView)findViewById(R.id.loading_empty1);
//将“更新”按钮设置为可绘制动画
加载.setBackgroundResource(R.drawable.update1);
loadingAnimation=(AnimationDrawable)loading.getBackground();
加载animation.setOneShot(false);
加载animation.start();
ImageView加载2=(ImageView)findViewById(R.id.loading\u empty2);
//将“更新”按钮设置为可绘制动画
加载2.setBackgroundResource(R.drawable.Update2);
loadingAnimation=(AnimationDrawable)loading2.getBackground();
加载animation.start();
ImageView加载3=(ImageView)findViewById(R.id.loading_empty3);
//将“更新”按钮设置为可绘制动画
加载3.setBackgroundResource(R.drawable.Update3);
loadingAnimation=(AnimationDrawable)loading3.getBackground();
加载animation.start();
ImageView loading4=(ImageView)findViewById(R.id.loading_empty4);
//将“更新”按钮设置为可绘制动画
加载4.setBackgroundResource(R.drawable.Update4);
loadingAnimation=(AnimationDrawable)loading4.getBackground();
加载animation.start();
ImageView加载5=(ImageView)findViewById(R.id.loading_empty5);
//将“更新”按钮设置为可绘制动画
加载5.setBackgroundResource(R.drawable.Update5);
loadingAnimation=(AnimationDrawable)loading5.getBackground();
加载animation.start();
//String assistUpdate=getString(R.String.apn\u app\u text\u cta2);
//CharSequence styledText=Html.fromHtml(assistUpdate);
//xtView assistText=(文本视图)
//findViewById(R.id.apn\u应用程序\u文本\u cta2);
//sistText.setText(styledText);
//按钮=(按钮)
//findViewById(R.id.assist\u update\u btn);
//mAssistUpdateButton.setOnClickListener(此);
}
}
公共void onClick(视图v){
if(v==mUpdateButton){
//版本lo的更新按钮
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/updating_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:text="@string/updating_text"
        android:textColor="#000000"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/loading_empty1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="150dp"
        android:layout_toLeftOf="@+id/loading_empty2"
        android:layout_marginBottom="20dp"
        android:layout_marginRight="15dp"
        android:background="@drawable/loading_empty"
         />

    <ImageView
        android:id="@+id/loading_empty3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/loading_empty2"
        android:layout_centerHorizontal="true"
        android:background="@drawable/loading_empty"
        android:layout_marginRight="15dp"
        />

    <ImageView
        android:id="@+id/loading_empty2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/loading_empty1"
        android:layout_toLeftOf="@+id/loading_empty3"
        android:background="@drawable/loading_empty"
        android:layout_marginRight="15dp"
         />

    <ImageView
        android:id="@+id/loading_empty4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/loading_empty3"
        android:layout_toRightOf="@+id/loading_empty3"
        android:background="@drawable/loading_empty"
        android:layout_marginRight="15dp"
         />

    <ImageView
        android:id="@+id/loading_empty5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/loading_empty4"
        android:layout_toRightOf="@+id/loading_empty4"
        android:background="@drawable/loading_empty"
         />

</RelativeLayout>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"    
    android:oneshot="false">    
    <item android:drawable="@drawable/loading_empty" android:duration="500" />    
    <item android:drawable="@drawable/loading_full" android:duration="1000" />    
</animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"    
    android:oneshot="false">    
    <item android:drawable="@drawable/loading_empty" android:duration="1500" />    
    <item android:drawable="@drawable/loading_full" android:duration="2000" />    
</animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"    
    android:oneshot="false">    
    <item android:drawable="@drawable/loading_empty" android:duration="2500" />    
    <item android:drawable="@drawable/loading_full" android:duration="3000" />    
</animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"    
    android:oneshot="false">    
    <item android:drawable="@drawable/loading_empty" android:duration="3500" />    
    <item android:drawable="@drawable/loading_full" android:duration="4000" />    
</animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"    
    android:oneshot="false">    
    <item android:drawable="@drawable/loading_empty" android:duration="4500" />    
    <item android:drawable="@drawable/loading_full" android:duration="5000" />    
</animation-list>