Java 单击一个按钮即可执行多个步骤操作
我目前正在尝试在Android Studio上解决一个基于java的问题。 在过去的两天里,我在很多论坛和网页上都找不到任何解决方案,对此我感到困惑不解。所以我现在在这里寻求帮助 我编程了一个按钮,当点击时,会导致文本视图以动画形式从屏幕中滑出。之后,我希望Textview的旧文本(“第一个文本”)被另一个文本(“新文本”)替换,该文本出现在旧文本所在的同一位置。所有这些都只需一步一步地点击按钮即可实现 我的代码的问题是,旧文本首先被新文本替换,然后导致动画 现在有人找到解决这个问题的办法了吗 我真的非常感谢任何帮助 下面是我的代码Java 单击一个按钮即可执行多个步骤操作,java,android,button,onclick,buttonclick,Java,Android,Button,Onclick,Buttonclick,我目前正在尝试在Android Studio上解决一个基于java的问题。 在过去的两天里,我在很多论坛和网页上都找不到任何解决方案,对此我感到困惑不解。所以我现在在这里寻求帮助 我编程了一个按钮,当点击时,会导致文本视图以动画形式从屏幕中滑出。之后,我希望Textview的旧文本(“第一个文本”)被另一个文本(“新文本”)替换,该文本出现在旧文本所在的同一位置。所有这些都只需一步一步地点击按钮即可实现 我的代码的问题是,旧文本首先被新文本替换,然后导致动画 现在有人找到解决这个问题的办法了吗
public class FirstActivity extends AppCompatActivity {
Animation slideleft;
Button btn1;
TextView txt1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
btn1 = (Button) findViewById(R.id.btn1);
txt1 = (TextView) findViewById(R.id.txt1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
slideleft = AnimationUtils.loadAnimation(FirstActivity.this, R.anim.slide_left);
txt1.startAnimation(slideleft);
txt1.setText("New Text");
}
});
}
}
您可以使用动画侦听器的onAnimationEnd方法并更改其中的文本
animation.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation anim) {
txt1 = (TextView) findViewById(R.id.txt1);
txt1.setText("New Text");
}
});
您可以使用动画侦听器的onAnimationEnd方法并更改其中的文本
animation.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation anim) {
txt1 = (TextView) findViewById(R.id.txt1);
txt1.setText("New Text");
}
});
可以在动画放置代码后放置要执行的事件
anim.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationStart(Animation arg0) {
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
//your_code
}
});
可以在动画放置代码后放置要执行的事件
anim.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationStart(Animation arg0) {
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
//your_code
}
});
令人惊叹的。我以前读过很多关于animationlistener的书,但似乎我以前用错误的方式整合了它。然而,现在它终于开始工作了。我认为我的错误在于我没有包括整个协议(animationstart、animationrepeat和animationend),而只包括animationend。非常感谢您的帮助!:)令人惊叹的。我以前读过很多关于animationlistener的书,但似乎我以前用错误的方式整合了它。然而,现在它终于开始工作了。我认为我的错误在于我没有包括整个协议(animationstart、animationrepeat和animationend),而只包括animationend。非常感谢您的帮助!:)非常感谢你!但是仅仅添加一个animationEnd就足够了吗?因为它对我不起作用。我必须集成整个protocoll(onAnimationStart、onAnimationRepeat和onAnimationEnd)。非常感谢!但是仅仅添加一个animationEnd就足够了吗?因为它对我不起作用。我必须集成整个protocoll(onAnimationStart、onAnimationRepeat和onAnimationEnd)。