小编pep*_*ght的帖子

Android ListView仅在滚动后显示项目

我正在构建一个Android应用程序,作为其中的一部分,我正在显示带有复选框的歌曲列表以允许选择.我正在使用自定义列表适配器来执行此操作.代码似乎加载并使用复选框,但我唯一的问题是,只有列表视图中的最顶层项目显示文本,直到我向下滚动列表,然后其他项呈现文本.

我知道这可能是一个问题,列表视图不刷新或类似的东西,但我无法弄清楚如何解决它.

下面是我的适配器的代码:

private class PlaylistDetailsAdapter extends ArrayAdapter<Song> {

    boolean[] checkBoxState;
    ViewHolder viewHolder;

    public PlaylistDetailsAdapter(Context context, int textViewResourceId, ArrayList<Song> songs) {
        super(context, textViewResourceId, songs);
        checkBoxState = new boolean[songs.size()];
    }

    private class ViewHolder {
        TextView songName;
        CheckBox checkBox;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.activity_playlist_details_row, null);
            viewHolder = new ViewHolder();

            viewHolder.songName = (TextView)convertView.findViewById(R.id.playlist_details_song_name);
            viewHolder.checkBox = (CheckBox)convertView.findViewById(R.id.playlist_details_checkbox);
            convertView.setTag(viewHolder);
        }
        else {
            viewHolder = (ViewHolder)convertView.getTag();
            Song song = playlistSongs.get(position);
            viewHolder.songName.setText(song.getTitle() …
Run Code Online (Sandbox Code Playgroud)

android listview scroll adapter

3
推荐指数
1
解决办法
5928
查看次数

标签 统计

adapter ×1

android ×1

listview ×1

scroll ×1