如何使用数组适配器扩展列表区域并使用string.xml文件在特定列表项上添加数据

时间:2016-02-25 09:21:48

标签: android android-arrayadapter expandablelistview

我想在列表视图的可扩展区域中添加字符串文件中的数据,我使用了扩展动画类来扩展区域并以段落形式插入数据。在实现此代码后,它在所有可扩展区域中仅显示@2131558400。请帮我解决一下这个 。 谢谢!

package com.example.androidlearningpoint;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class ItemsAdapter extends ArrayAdapter<Items>{

    Context context; 
    int layoutResourceId;    
    Items data[] = null;

    public ItemsAdapter(Context context, int layoutResourceId, Items[] data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        ItemsHolder holder = null;

        if(row == null)
        {
            LayoutInflater inflater = ((Activity)context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);

            holder = new ItemsHolder();
            holder.imgIcon = (ImageView)row.findViewById(R.id.imgIcon);
            holder.txtTitle = (TextView)row.findViewById(R.id.txtTitle);

            row.setTag(holder);
        }
        else
        {
            holder = (ItemsHolder)row.getTag();
        }

        Items items = data[position];
        holder.txtTitle.setText(items.title);
        holder.imgIcon.setImageResource(items.icon);


        View toolbar = row.findViewById(R.id.toolbar);
        ((LinearLayout.LayoutParams) toolbar.getLayoutParams()).bottomMargin = -50;
        toolbar.setVisibility(View.GONE);

        return row;
    }

    static class ItemsHolder
    {
        ImageView imgIcon;
        TextView txtTitle;
    }
}

0 个答案:

没有答案