最も関連性の高いコードを以下に示します。
ボタンを拡張する「TestButton」が押されると、そのビューが「TestButton」コードに渡され、そのボタン/ビューをアニメーション化できます。しかし、別のビューもアニメーション化したいと考えています。ここで作成しているビューとは別のビューをアニメーション化するにはどうすればよいですか、またはアクティビティに DO ACTION を通知するにはどうすればよいですか? これはタッチされたボタンで機能します:
startAnimation(animationstd);
しかし、別のボタンでは:
useiv.startAnimation(animationstd);
NULL ポインター例外が発生します。
コード:
package de.passsy.multitouch;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.Button;
public class TestButton extends Button {
public TestButton(final Context context, final AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(final MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
final Animation animationstd = AnimationUtils.loadAnimation(getContext(),
R.anim.fromleft);
useiv = (TestButton) findViewById(R.id.imageButton1);
useiv.startAnimation(animationstd); //this line = null pointer exception
}
return super.onTouchEvent(event);
}
}