-1
我有onClickListener在我的自定义适配器的ListViewAdapterHandler - 抽象类空指针异常
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();
}
}
});
然后我做了抽象类更新的TextView
public abstract class InterfaceUpdate
{ 公共无效UPDATETEXT(字符串文本) {} }
和更新TextView中的监听器:
@Override
public void onRadioStarted() {
adapter.adapterhandler = new InterfaceUpdate() {
@Override
public void updateText(String text) {
super.updateText(text);
title.setText(text);
}
};
我的问题是什么?我无法制作
adapterhandler.updateText(dataModelList.get(position).getRadio_name());
不检查它是否为空,因为它生成NullPointerException 当我第一次点击列表元素,TextView没有改变,第二次改变完美...; /任何想法如何不使这个adapterhandler为空?
你为什么要调用'super.updateText(text)'?你知道它什么都不做。 – Tibrogargan
它只是垃圾代码,刚刚删除...问题是,我打电话时这个updateText播放时,但第一次它不播放;) 认真,我不知道该把它放在哪里,它应该更新为元素点击列表(TextView) 我不能把它放在onCreate等,因为它将为空。嗯... 现在,当我第一次点击,没有什么可做的,TextView没有更新。点击第二次,处理程序和文本不为空,收音机正在播放,所以它正在改变。 – ramzixp