package com.architjn.materialicons.adapters; import android.content.Context; import android.content.res.TypedArray; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import com.architjn.materialicons.R; public class ChangelogAdapter extends BaseAdapter { private final Context mContext; private final String[][] mChangelog; public ChangelogAdapter(Context context, int rootArray) { // Save the context mContext = context; // Populate the two-dimensional array TypedArray typedArray = mContext.getResources().obtainTypedArray(rootArray); mChangelog = new String[typedArray.length()][]; for (int i = 0; i < typedArray.length(); i++) { int id = typedArray.getResourceId(i, 0); if (id > 0) { mChangelog[i] = mContext.getResources().getStringArray(id); } } typedArray.recycle(); } @Override public int getCount() { return mChangelog.length; } @Override public String[] getItem(int position) { return mChangelog[position]; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(mContext); convertView = inflater.inflate(R.layout.changelog_content, parent, false); } TextView versionName = (TextView) convertView.findViewById(R.id.changelog_versionname); TextView versionContent = (TextView) convertView.findViewById(R.id.changelog_versioncontent); String nameStr = mChangelog[position][0]; String contentStr = ""; for (int i = 1; i < mChangelog[position].length; i++) { if (i > 1) { // No need for new line on the first item contentStr += "\n"; } contentStr += "\u2022 "; contentStr += mChangelog[position][i]; } versionName.setText(nameStr); versionContent.setText(contentStr); return convertView; } }