Java 单击一个按钮即可执行多个步骤操作

Java 单击一个按钮即可执行多个步骤操作,java,android,button,onclick,buttonclick,Java,Android,Button,Onclick,Buttonclick,我目前正在尝试在Android Studio上解决一个基于java的问题。 在过去的两天里,我在很多论坛和网页上都找不到任何解决方案,对此我感到困惑不解。所以我现在在这里寻求帮助 我编程了一个按钮,当点击时,会导致文本视图以动画形式从屏幕中滑出。之后,我希望Textview的旧文本(“第一个文本”)被另一个文本(“新文本”)替换,该文本出现在旧文本所在的同一位置。所有这些都只需一步一步地点击按钮即可实现 我的代码的问题是,旧文本首先被新文本替换,然后导致动画 现在有人找到解决这个问题的办法了吗

我目前正在尝试在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)。