【问题标题】:Multiple Step Actions on one Button Click一键单击多个步骤操作
【发布时间】:2016-11-28 17:05:57
【问题描述】:

我目前正在尝试在 Android Studio 上解决基于 java 的问题。 在过去的两天里,我在许多论坛和网页中都没有找到任何解决方案,对此问题我感到很困惑。所以我现在在这里寻求帮助。

我编写了一个 Button,单击该按钮会导致 textview 以动画方式滑出屏幕。之后,我希望将 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");

    }
        });
    }
}

【问题讨论】:

    标签: java android button onclick buttonclick


    【解决方案1】:

    您可以使用动画侦听器的 onAnimationEnd 方法并更改其中的文本。

        animation.setAnimationListener(new Animation.AnimationListener(){         
            @Override
            public void onAnimationEnd(Animation anim) {
                txt1 = (TextView) findViewById(R.id.txt1);
                txt1.setText("New Text");
            }
        });
    

    【讨论】:

    • 非常感谢!但是只添加 onAnimationEnd 就足够了吗?因为它对我不起作用。我必须整合整个协议(onAnimationStart、onAnimationRepeat 和 onAnimationEnd)。
    【解决方案2】:

    您可以在动画放置代码后放置哪个事件执行

    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。非常感谢您的帮助!:)
    猜你喜欢
    • 2014-01-10
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    相关资源
    最近更新 更多