Android 使用BaseAdapter在数据为空时跳过项视图(列表项)
我想用歌曲填充我的listView。有些歌曲是不可流化的。我想跳过对这些项目行进行膨胀(绘制)。其数据为空 我通过Android 使用BaseAdapter在数据为空时跳过项视图(列表项),android,android-listview,baseadapter,Android,Android Listview,Baseadapter,我想用歌曲填充我的listView。有些歌曲是不可流化的。我想跳过对这些项目行进行膨胀(绘制)。其数据为空 我通过setEnable(false)和setClickable(false)进行了尝试。但这不是正确的解决方案 我想跳过那些不可流化的项目行 public View getView(int position , View convertView , ViewGroup parent) { String track_artWork = ""; My
setEnable(false)
和setClickable(false)
进行了尝试。但这不是正确的解决方案
我想跳过那些不可流化的项目行
public View getView(int position , View convertView , ViewGroup parent)
{
String track_artWork = "";
MyViewHolder mViewHolder;
if (convertView == null)
{
convertView = layoutInflater.inflate(R.layout.item_listview, parent, false);
mViewHolder = new MyViewHolder(convertView);
convertView.setTag(mViewHolder);
}
else
{
mViewHolder = (MyViewHolder) convertView.getTag();
}
Track currentTrack = trackList.get(position);
if(!currentTrack.isStreamable())
{
//convertView.setEnabled(false);
//convertView.setClickable(false);
//convertView.setVisibility(View.GONE);
return convertView;
}
mViewHolder.tvSong.setText(currentTrack.getTitle());
track_artWork = String.valueOf(currentTrack.getArtworkUrl());
mViewHolder.smartImageView.setImageUrl(track_artWork);
return convertView;
}
第二种方法
我将item_listView
parent节点可见性设置为gone-in-xml。我把这个方法颠倒过来!可流到不可流
if(currentTrack.isStreamable())
{
convertView.setVisibility(View.VISIBLE);
}
它将在第一次显示时工作。当我滚动ListView时,它会显示项目。单击它,我的应用程序就会崩溃。只是不将这些曲目添加到您的曲目列表?但我想显示所有曲目。无论它们是否可流化。但是,如果它们不可流化,那么就展示它。它不是streamableTry setOnclickListener(null)。或者参考此链接:单击是在listView上实现的。setOnItemClickListener不在适配器中。在适配器中重写
公共布尔值isEnabled(int position){…}
,并将逻辑(currentTrack.isStreamable()
)放入。