2016-07-25 6 views
1

現在、AndroidスタジオでJavaベースの問題を解決しようとしています。 私はこの問題に関して私の頭を悩ませました。最後の2日間で何の解決策も見つけられないようなフォーラムやWebページがたくさんありました。だから私は今ここで助けを求めている。ワンステップでの複数ステップアクションクリック

ボタンをクリックすると、テキストビューがアニメーションで画面外にスワイプされるようにプログラムしました。その後、私はTextviewの古いテキスト( "First Text")を、古いテキストが置かれていた場所と同じ場所に現れる別のテキスト( "New Text")に置き換えることを望みます。このすべては、ボタンを1回だけクリックするだけで実行できます。

私のコードで私の問題は、古いテキストが新しいテキストで置き換えられてからアニメーションが発生することです。

誰でも今この問題の解決法はありますか?

私は本当に助けに感謝します!

これは私のコードです。

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"); 

    } 
     }); 
    } 
} 

答えて

0

アニメーションリスナーのonAnimationEndメソッドを使用して、その内部のテキストを変更することができます。

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

を配置した後に実行されたイベントに置くことができますありがとうございました!しかし、onAnimationEndを追加するだけで十分ですか?それは私のために働かなかったので。私はプロトコル全体(onAnimationStart、onAnimationRepeatとonAnimationEnd)を統合しなければならなかった。 – LoveCoding

0

あなたはアニメーションがあなたのコード

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 
    } 
}); 
+0

素晴らしいです。私はアニメーションリスナーについて多くのことを前に読んだことがありますが、前に間違った方法で統合したようです。しかし、ついにそれが今働いた。私は自分のミスは、プロトコル全体(animationstart、animationrepeat、animationend)を含まず、アニメーションの終了のみを含んでいたと思います。ご助力ありがとうございます!:) – LoveCoding

関連する問題