问题遇到的现象和发生背景
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFFF"
>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_gravity="center"
android:gravity="center"
android:text="抽签系统"
android:textColor="#98520E"
android:textSize="22sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img1"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司01"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img2"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司02"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img3"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司03"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img4"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司04"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img5"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司05"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img6"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司06"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img7"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司07"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img8"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司08"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img9"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司09"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img10"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司10"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img11"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司11"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img12"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司12"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img13"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司13"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img14"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司14"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img15"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司15"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img16"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司16"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img17"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司17"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img18"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司18"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img19"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司19"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/img20"
android:layout_width="60dp"
android:layout_height="45dp"
android:src="@drawable/home" />
<TextView
android:id="@+id/text20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="公司20"
android:textColor="#98520E"
android:textSize="22sp" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/text21"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_marginTop="9dp"
android:layout_gravity="center"
android:gravity="center"
android:text=""
android:textSize="22sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:background="#FFFFFF"
android:orientation="vertical"
>
<Button
android:id="@+id/qfbtn"
android:layout_width="111dp"
android:layout_height="match_parent"
android:backgroundTint="#32CD32"
android:gravity="center"
android:text="随机抽取" />
</LinearLayout>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="30dp" />
</LinearLayout>
这是activity
public class MainActivity extends Activity {
private TextView tv1;
private TextView tv2;
private TextView tv3;
private TextView tv4;
private TextView tvStart;
private TextView tv5;
private TextView tv6;
private TextView tv7;
private TextView tv8,tv9,tv10,tv11,tv12,tv13,tv14,tv15,tv16,tv17,tv18,tv19,tv20,text,textView;
private TextView tvNotice;
private Button qfbtn;
private List<TextView> views = new LinkedList<>();//所有的视图
private int timeC= 30;//变色时间间隔
private int lightPosition = 0;//当前亮灯位置,从0开始
private int runCount = 10;//需要转多少圈
private int lunckyPosition = 4;//中奖的幸运位置,从0开始
int ii;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
tv1 = (TextView) findViewById(R.id.text1);
tv2 = (TextView) findViewById(R.id.text2);
tv3 = (TextView) findViewById(R.id.text3);
tv4 = (TextView) findViewById(R.id.text4);
tv5 = (TextView) findViewById(R.id.text5);
tv6 = (TextView) findViewById(R.id.text6);
tv7 = (TextView) findViewById(R.id.text7);
tv8 = (TextView) findViewById(R.id.text8);
tv9 = (TextView) findViewById(R.id.text9);
tv10 = (TextView) findViewById(R.id.text10);
tv11 = (TextView) findViewById(R.id.text11);
tv12 = (TextView) findViewById(R.id.text12);
tv13 = (TextView) findViewById(R.id.text13);
tv14 = (TextView) findViewById(R.id.text14);
tv15 = (TextView) findViewById(R.id.text15);
tv16 = (TextView) findViewById(R.id.text16);
tv17 = (TextView) findViewById(R.id.text17);
tv18 = (TextView) findViewById(R.id.text18);
tv19 = (TextView) findViewById(R.id.text19);
tv20 = (TextView) findViewById(R.id.text20);
textView= (TextView) findViewById(R.id.textView);
tvNotice = (TextView) findViewById(R.id.text21);
text= (TextView) findViewById(R.id.text);
qfbtn= findViewById(R.id.qfbtn);
views.add(tv1);
views.add(tv2);
views.add(tv3);
views.add(tv4);
views.add(tv5);
views.add(tv6);
views.add(tv7);
views.add(tv8);
views.add(tv9);
views.add(tv10);
views.add(tv11);
views.add(tv12);
views.add(tv13);views.add(tv14);views.add(tv15);views.add(tv16);views.add(tv17);
views.add(tv18);views.add(tv19);views.add(tv20);
ii= randomNum(0,19);
try {
qfbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
qfbtn.setClickable(false);
qfbtn.setEnabled(false);
tvNotice.setText("");
runCount = 8;
timeC =30;
views.get(lunckyPosition).setBackgroundColor(Color.TRANSPARENT);
lunckyPosition = ii;
new TimeCount(timeC*20,timeC).start();
}
});
} catch (Exception e) {
e.printStackTrace();
}
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ii=6;
}
});
}
/**
* 生成随机数
* @param minNum
* @param maxNum
* @return
*/
private int randomNum(int minNum,int maxNum) {
int max = maxNum;
int min = minNum;
Random random = new Random();
return random.nextInt(max)%(max-min+1) + min;
}
class TimeCount extends CountDownTimer{
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
lightPosition = 0;
}
@Override
public void onTick(long millisUntilFinished) {
Log.i(">>>", "---" + lightPosition);
//如果是最后一次滚动
if (runCount > 0) {
if (lightPosition > 0) {
views.get(lightPosition - 1).setBackgroundColor(Color.TRANSPARENT);
}
if (lightPosition < 20) {
views.get(lightPosition).setBackgroundColor(Color.RED);
}
} else if (runCount == 0) {
if (lightPosition < lunckyPosition) {
if (lightPosition > 0) {
views.get(lightPosition - 1).setBackgroundColor(Color.TRANSPARENT);
}
if (lightPosition < 20) {
views.get(lightPosition).setBackgroundColor(Color.RED);
}
}
}
if (runCount>1&&millisUntilFinished > timeC && millisUntilFinished < 2*timeC) {
mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
views.get(18).setBackgroundColor(Color.TRANSPARENT);
views.get(19).setBackgroundColor(Color.RED);
}
}, timeC);// 这里百毫秒
}
lightPosition++;
}
@Override
public void onFinish() {
Log.i(">>>","onFinish=="+runCount);
//如果不是最后一圈,需要还原最后一块的颜色
TextView tvLast= views.get(19);
if (runCount!=0){
tvLast.setBackgroundColor(Color.TRANSPARENT);
//最后几转速度变慢
if (runCount<3) timeC += 50;
new TimeCount(timeC*20,timeC).start();
runCount--;
}
//如果是最后一圈且计时也已经结束
if (runCount==0&&lightPosition==20&&lunckyPosition>0){
qfbtn.setClickable(true);
qfbtn.setEnabled(true);
tvNotice.setText("抽签结果是: "+views.get(lunckyPosition-1).getText().toString());
if (lunckyPosition!=views.size())
tvLast.setBackgroundColor(Color.TRANSPARENT);
}
ii=randomNum(0,19);
}
}
}
真机调试正常,但蓝叠、UU、夜神等模拟器都有问题,有时程序出结果时卡死,有时最后两个颜色不变回去,
我新建project时选的android版本是4.0,原来选的api32,结果模拟器上都打不开,换成android4.0可以运行但运行结果总是不对 。我在想是不是计时器的问题,因为系统负载过高导致计时器不准
请帮我看看到底怎么回事