91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ListView列表項動態變換布局

發布時間:2024-08-15 15:45:29 來源:億速云 閱讀:80 作者:小樊 欄目:移動開發

要實現ListView列表項動態變換布局,可以通過Adapter中的getView()方法來實現。在getView()方法中根據不同的條件來動態選擇不同的布局進行顯示。

首先,在Adapter中需要重寫getView()方法,并根據條件動態選擇不同的布局資源文件進行加載,例如:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    int type = getItemViewType(position);

    if (convertView == null) {
        holder = new ViewHolder();
        switch (type) {
            case TYPE_LAYOUT_1:
                convertView = LayoutInflater.from(context).inflate(R.layout.layout_1, parent, false);
                // 初始化布局1中的控件
                holder.textView = convertView.findViewById(R.id.textView);
                break;
            case TYPE_LAYOUT_2:
                convertView = LayoutInflater.from(context).inflate(R.layout.layout_2, parent, false);
                // 初始化布局2中的控件
                holder.imageView = convertView.findViewById(R.id.imageView);
                break;
        }
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    // 設置數據
    switch (type) {
        case TYPE_LAYOUT_1:
            holder.textView.setText(data.get(position).getTitle());
            break;
        case TYPE_LAYOUT_2:
            holder.imageView.setImageResource(data.get(position).getImageResId());
            break;
    }

    return convertView;
}

@Override
public int getItemViewType(int position) {
    // 根據條件返回不同的布局類型
    if (data.get(position).isTextType()) {
        return TYPE_LAYOUT_1;
    } else {
        return TYPE_LAYOUT_2;
    }
}

@Override
public int getViewTypeCount() {
    return 2; // 返回布局類型的數量
}

static class ViewHolder {
    TextView textView;
    ImageView imageView;
}

在上面的代碼中,根據data中的條件判斷來選擇不同的布局進行加載,同時也需要在Adapter中重寫getItemViewType()和getViewTypeCount()方法來返回布局類型和布局類型的數量。

通過以上步驟,就可以實現ListView列表項動態變換布局的效果。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渭南市| 军事| 个旧市| 阿拉尔市| 勃利县| 安吉县| 庆安县| 江城| 威信县| 临澧县| 包头市| 桐梓县| 巢湖市| 沁源县| 来宾市| 游戏| 昌邑市| 阜新市| 鹤峰县| 宁晋县| 淅川县| 麻江县| 龙井市| 香格里拉县| 冕宁县| 运城市| 永清县| 太原市| 浦江县| 弋阳县| 沭阳县| 松江区| 定襄县| 英吉沙县| 萨嘎县| 凤凰县| 全州县| 固镇县| 石楼县| 广州市| 阜平县|