动画上的单选按钮监听器结束

时间:2017-08-04 22:36:36

标签: android

如果用户从Radiogroup中选择RadioButton,我需要知道动画何时结束。

我的案例: 当用户在我的问题回答时,我有一个viewPager问题然后移动到下一个位置(问题)。

Image

示例代码:

 @Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
    RadioButton checkedRadioButton = (RadioButton) group.findViewById(checkedId);
    viewPagerHelper.goToNext();
    Log.e("CardAdapter", "Text :" + checkedRadioButton.getText());
}

谢谢

1 个答案:

答案 0 :(得分:1)

如果我理解你的情况,你试过这样的事吗?

修改:如果添加动画监听器?不起作用,在getAnimation()

上抛出一个NullPointer
RadioGroup myRadioGroup = (RadioGroup) _view.findViewById(R.id.rg);
myRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
        switch (checkedId) {
            case R.id.rb1 : // do something 
                break;
            case R.id.rb2 : // do something else
                break;
        }
    }
});

myRadioGroup.getAnimation().setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        // crossing fingers
        goToNextQuestion();
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
});

Edit2 :SHITTY解决方案!请不要在家里这样做

我并不以此为荣,但它适用于此解决方案

myRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
        new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this, "test", Toast.LENGTH_SHORT).show();
            }
        }, 250);
    }
});

纯粹估计250毫秒。

我希望能帮到你