私はListViewコントロールAdapterHandler - 抽象クラスNULLポインタ例外
holder.name.setText(dataModelList.get(position).getRadio_name());
final ViewHolder finalHolder = holder;
holder.name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(adapterhandler !=null) {
adapterhandler.updateText(dataModelList.get(position).getRadio_name());
}
if(!mRadioManager.isPlaying()) {
mRadioManager.connect();
mRadioManager.startRadio(dataModelList.get(position).getRadio_url());
}
else
{
mRadioManager.stopRadio();
}
}
});
のための私のカスタム・アダプタでonClickListenerは、その後、私はTextViewの
public abstract class InterfaceUpdate
{ ます。public void UPDATETEXT(文字列テキスト)を更新する抽象クラスを作ってい{} }
フラグメントをリスナーで更新するTextView:
@Override
public void onRadioStarted() {
adapter.adapterhandler = new InterfaceUpdate() {
@Override
public void updateText(String text) {
super.updateText(text);
title.setText(text);
}
};
私の問題は何ですか?私はできません
アダプターハンドラー.updateText(dataModelList.get(position).getRadio_name());
NullPointerExceptionが生成されているため、NullPointerExceptionが生成されているため、チェックされずに リスト要素を最初にクリックするとTextViewが変更されず、2番目の時間が完全に変更されます... /このアダプタハンドラーをnullにしない方法
なぜ 'super.updateText(text)'を呼びますか?あなたは何もしないことを知っている。 – Tibrogargan
ちょうど削除されたゴミ箱のコードです...問題は、ラジオが再生されているが最初に再生していないときにこのupdateTextを呼び出していることです) 真剣に、私はそれを置く場所を知らないので、 (TextView) nullになるため、onCreateなどに入れることはできません。うーん... 今のところ私が最初にクリックしたときは何もしませんが、TextViewは更新されません。もう一度クリックすると、ハンドラとテキストがヌルではなく、ラジオが再生されているので、正しく変更されています。 – ramzixp