[英]Call a method from a Fragment
我在Fragment中有一个需要从活动中调用的方法。
如果我将此代码添加到“活动”中,则该活动运行良好,但我想保持活动干净,并将代码保留在片段中。
我该怎么做呢?
这是片段中的方法
public void Foreg(final View v) {
ValueAnimator box = ValueAnimator.ofFloat(0, 1);
box.setDuration(1500);
box.start();
box.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// TODO Auto-generated method stub
float value = ((Float) (animation.getAnimatedValue()))
.floatValue();
v.setRotationX(value * -180);
v.setPivotX(v.getWidth() / 2);
v.setPivotY(v.getHeight());
v.setCameraDistance(10000);
v.setClickable(false);
/*
* float value = ((Float) (animation.getAnimatedValue()))
* .floatValue(); v.setRotationY(value * -160); v.setPivotX(00);
* v.setPivotY(300); v.setCameraDistance(3500);
* v.setClickable(false);
*/
}
});
ValueAnimator box2 = ValueAnimator.ofFloat(1, 0);
box2.setDuration(1500);
box2.setStartDelay(4000);
box2.start();
box2.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// TODO Auto-generated method stub
float value = ((Float) (animation.getAnimatedValue()))
.floatValue();
v.setRotationX(value * -180);
v.setPivotX(v.getWidth() / 2);
v.setPivotY(v.getHeight());
v.setCameraDistance(10000);
v.setClickable(true);
/*
* float value = ((Float) (animation.getAnimatedValue()))
* .floatValue(); v.setRotationY(value * -160); v.setPivotX(00);
* v.setPivotY(300); v.setCameraDistance(3500);
* v.setClickable(true);
*/
}
});
}
如果我理解您的问题,您想从活动中调用片段方法Foreg(View v)
。
尝试这种方式:
FragmentManager fm = getSupportFragmentManager();
YourFragmentClass fragment = (YourFragmentClass)fm.findFragmentById(R.id.your_fragment_id);
fragment.Foreg(View v);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.