2011-12-16 6 views
2

私のアプリケーションにlistViewがあり、実行中のある時点で特定の行をハイライトしたいと思います。私はいくつかの例を見つけたが、私は間違いを続けている。ここに私のコードは次のとおりです。リストビュー内の特定の行をアニメートする

public void animate(int pos){ //pos:position of the row in the list 
    lv1=(ListView)findViewById(R.id.listView1); 
    Animation animation = AnimationUtils.loadAnimation(getBaseContext(), R.anim.scale); 
    ((View)lv1.getItemAtPosition(pos)).startAnimation(animation); 
} 

とscale.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <scale 
     android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
     android:fromXScale="1.0" 
     android:toXScale="1.4" 
     android:fromYScale="1.0" 
     android:toYScale="0.6" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:fillAfter="false" 
     android:duration="700" /> 
</set> 

誰もが、私はそれを本当に感謝これで助けることができる場合。

EDIT:私がちょうど見つけた追加情報を提供したいと思います。コードを実行すると、NullPointerExceptionが発生します。次の行で例外が発生する

((View)lv1.getItemAtPosition(pos)) 

listViewで項目を取得できません。

常に「true」と表示されます。問題の原因がどこにあるのか分かりませんでした。

+1

どのようなエラーが発生していますか、動作していないものはありますか? –

+0

私の電話では、私はこれを "予期せず停止しました"というメッセージを受け取りましたが、残念ながら私はそれが何を引き起こしているのかを知ることができません。私は初心者です。私は次の行をコメントアウトするとエラーを取り除きます: ((View)lv1.getItemAtPosition(pos))。startAnimation(animation); – 0x5f3759df

+0

[ログ](http://stackoverflow.com/q/2882253/741249)を確認し、エラーのスタックトレースを投稿してください。 – THelper

答えて

0

これがまったく役に立たないのかどうかはわかりませんが、自分のコードが私の問題解決に役立っています。私は、次のコードでの作業効果の同じタイプを得た:

//Animation swipe to the right 
View view = lv.getChildAt(pos); 
Animation animation = AnimationUtils.loadAnimation(TaskMain.this, R.anim.slideright); 
view.startAnimation(animation); 

私はそれをアクティブにするとき、その後、私はちょうど私の領域にそれを置きます。私自身のために、私はジェスチャーを有効にしました。

関連する問題