java多线程问题 关于锁的

功能是想输出ABCABC......运行中出现错误,不知道怎么回事,帮忙看看,谢谢,急!!!!!图片说明图片说明图片说明

super(context);
this.listener = listener;
initView(context);
}

private void initView(Context context)
{
    LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View otherView = layoutInflater.inflate(R.layout.item_camera_select,
            null);
    otherView.setOnTouchListener(new View.OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            if (event.getAction() == MotionEvent.ACTION_DOWN)
            {
                startExistAnim();
            }
            return true;
        }
    });

    photoBtn = (Button) otherView.findViewById(R.id.btn_goto_camera);
    photoBtn.setOnClickListener(this);
    gifBtn = (Button) otherView.findViewById(R.id.btn_camera_gif);
    gifBtn.setOnClickListener(this);
    streamBtn = (Button) otherView.findViewById(R.id.btn_camera_live);
    streamBtn.setOnClickListener(this);

    photoEnterAnim = AnimationUtils.loadAnimation(context,
            R.anim.three_button_enter_second);
    gifEnterAnim = AnimationUtils.loadAnimation(context,
            R.anim.three_button_enter_first);
    streamEnterAnim = AnimationUtils.loadAnimation(context,
            R.anim.three_button_enter_third);
    firstExistAnim = AnimationUtils.loadAnimation(context,
            R.anim.three_button_exist_first);
    secondExistAnim = AnimationUtils.loadAnimation(context,
            R.anim.three_button_exist_second);
    thirdExistAnim = AnimationUtils.loadAnimation(context,
            R.anim.three_button_exist_third);

    // 最后一个退出动画完成后把PopupWindowDismiss掉
    thirdExistAnim.setAnimationListener(new Animation.