如果用户从Radiogroup中选择RadioButton,我需要知道动画何时结束。
我的案例: 当用户在我的问题回答时,我有一个viewPager问题然后移动到下一个位置(问题)。
示例代码:
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
RadioButton checkedRadioButton = (RadioButton) group.findViewById(checkedId);
viewPagerHelper.goToNext();
Log.e("CardAdapter", "Text :" + checkedRadioButton.getText());
}
谢谢
答案 0 :(得分:1)
如果我理解你的情况,你试过这样的事吗?
修改:如果添加动画监听器?不起作用,在getAnimation()
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毫秒。
我希望能帮到你