2017-03-20 13 views
-4

arrayListのすべての要素をlistViewに追加する必要があります。ここでは、arrayListをパッケージ名とサイズを含むアダプタに渡します。 すべての項目を反復表示して表示する方法リストビュー内の。arrayList <model>をlistViewに追加する方法

public class CCacheAdapter extends ArrayAdapter<CCacheInfo> 
{ 
private ArrayList<CCacheInfo> arrayList; 
private Context mContext; 
public CCacheAdapter(Context context, ArrayList<CCacheInfo> cacheInfos) 
{ 
    super(context,0, cacheInfos); 
    mContext=context; 
    arrayList=cacheInfos; 
} 

@NonNull 
@Override 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    CCacheInfo cCacheInfo = getItem(position); 
    ViewHolder oViewHolder; 
    if (convertView == null) 
    { 
     convertView = LayoutInflater.from(getContext()).inflate(R.layout.cache_items, parent, false); 
     oViewHolder =new ViewHolder(); 
     oViewHolder.mPackageName = (TextView)convertView.findViewById(R.id.package_name); 
     oViewHolder.mPackageSize = (TextView)convertView.findViewById(R.id.package_size); 
     oViewHolder.mPackageIcon = (ImageView)convertView.findViewById(R.id.appIcon); 
     oViewHolder.mCheckbox = (CheckBox)convertView.findViewById(R.id.checkbox); 
     convertView.setTag(oViewHolder); 
    }else 
    { 
     oViewHolder = (ViewHolder)convertView.getTag(); 
    } 
     oViewHolder.mPackageName.setText(cCacheInfo.m_szAppName); 
     oViewHolder.mPackageSize.setText(CCleanTool.formatShortFileSize(mContext, cCacheInfo.m_nSize)); 
    return convertView; 
} 
private class ViewHolder 
{ 
    TextView mPackageName; 
    TextView mPackageSize; 
    CheckBox mCheckbox; 
    ImageView mPackageIcon; 
} 
    } 
+0

のように、リストビューにアダプタを設定します。アダプタをListViewに設定するだけです –

答えて

0

はちょうどあなたが、アダプターはそれを行うだろう、自分でそれを行うつもりはありません、以下

ArrayList<CCacheInfo> cacheInfos = ... // you get your data from somewhere 
ListView listView = (ListView) findViewById(R.id.list_view); 
CCacheAdapter adapter = new CCacheAdapter(this, cacheInfos); 
listView.setAdapter(adapter); 
関連する問題