不知道为啥,总是报错,按照网上的方法也试过了File>“Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”也没有用
package com.example.bofangqi;import android.animation.ObjectAnimator; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.os.Build; import android.os.Handler; import android.os.IBinder; import android.os.Message; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.animation.LinearInterpolator; import android.widget.ImageView; import android.widget.SeekBar; import android.widget.TextView;public class MainActivity extends AppCompatActivity implements View.OnClickListener{private static SeekBar sb;private static TextView kaishi, jieshu;private ObjectAnimator animator;private MusicService.MusicControl musicControl;MyServiceConn conn;Intent intent;private boolean isUnbind = false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);init();}private void init(){kaishi =(TextView)findViewById(R.id.kaishi);jieshu = (TextView)findViewById(R.id.jieshu);sb = (SeekBar)findViewById(R.id.sb);findViewById(R.id.botton1).setOnClickListener(this);findViewById(R.id.botton2).setOnClickListener(this);findViewById(R.id.botton3).setOnClickListener(this);findViewById(R.id.botton4).setOnClickListener(this);intent = new Intent(this,MusicService.class);conn = new MyServiceConn();bindService(intent,conn,BIND_ABOVE_CLIENT);sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){@RequiresApi(api = Build.VERSION_CODES.KITKAT)@Overridepublic void onProgressChanged(SeekBar seekBar,int progress,boolean fromUser){if (progress == seekBar.getMax()){animator.pause();}}@Overridepublic void onStartTrackingTouch(SeekBar seekBar){}@Overridepublic void onStopTrackingTouch(SeekBar seekBar){int progress = seekBar.getProgress();musicControl.seekTo(progress);}});ImageView music1 = (ImageView)findViewById(R.id.music1);animator = ObjectAnimator.ofFloat(music1,"rotation",0f,360.0f);animator.setDuration(10000);animator.setInterpolator(new LinearInterpolator());animator.setRepeatCount(-1);}public static Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg){Bundle bundle = msg.getData();int duration = bundle.getInt("duration");int currentPostition = bundle.getInt("currentPostition");sb.setMax(duration);sb.setProgress(currentPostition);int minute = duration/1000/60;int second = duration/1000%60;String strMinute = null;String strSecond = null;if (minute<10){strMinute="0"+minute;}else{strMinute= minute+"";}if (second<10){strSecond="0"+second;}else{strSecond = second+"";}kaishi.setText(strMinute+"."+strSecond);}};class MyServiceConn implements ServiceConnection{@Overridepublic void onServiceConnected(ComponentName name, IBinder service){musicControl = (MusicService.MusicControl)service;}@Overridepublic void onServiceDisconnected(ComponentName name){}}private void unbind(boolean isUnbind){if (!isUnbind){musicControl.pausePlay();unbindService(conn);}}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.botton1:musicControl.play();animator.start();break;case R.id.botton2:musicControl.pausePlay();animator.pause();break;case R.id.botton3:musicControl.continuePlay();animator.start();break;case R.id.botton4:unbind(isUnbind);isUnbind = true;finish();break;}}@Overrideprotected void onDestroy(){super.onDestroy();unbind(isUnbind);} }