Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用BaseAdapter在数据为空时跳过项视图(列表项)_Android_Android Listview_Baseadapter - Fatal编程技术网

Android 使用BaseAdapter在数据为空时跳过项视图(列表项)

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

我想用歌曲填充我的listView。有些歌曲是不可流化的。我想跳过对这些项目行进行膨胀(绘制)。其数据为空

我通过
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()
)放入。