ちょっと私のカスタムビューのメインアクティビティでリアルタイムデータの変更を取得しようとしています。ビューのリスナーを実装して、メインアクティビティで何か変更があった場合は、ビューがそのことを知り、それに応じて動作するようにします。メインアクティビティリスナをカスタムビューに表示しますか?
以下は私の主な活動です。
public void setChangeListener(OnChangeListener onChangeListener){
this.onChangeListener = onChangeListener;
}
public interface OnChangeListener{
void currentRadius(int r);
void currentSpeed(int s);
}
私は、としてビューで同じ
public CustomView extends View{
//CONSTRUCTORS
//EVERYTHING ELSE
//These are inside the init(Context context) method.
MainActivity mainActivity = new MainActivity();
mainActivity.setOnChangeListener(new MainActivity.OnChangeListener() {
@Override
public void currentR(int r) {
Log.d("R", ""+r);
}
@Override
public void currentS(int s) {
Log.d("S", ""+s);
}
});
}
を初期化してきた。しかし、これはonProgressChanged
リスナーの内側にある
onChangeListener.currentR(//INTEGER VALUE);
onChangeListener.currentS(//INTEGER VALUE);
で私にNullPointerExceptionを与えています。
アクティビティからリスナーを使用してデータを送信することも可能ですか?はいの場合は、任意のポインタをいただければ幸いです。ありがとう。
ビューは何ですか?説明 – Spartan
どこから 'onProgressChanged'呼び出し?フォーム 'Aysncタスク'? –
@MayurRavalいいえ、シークバーの進行状況の変更リスナーです。 –