सरल लेकिन बहुत कम मुश्किल है, अगर मैं<Spanned> को list.setAdapter में कैसे रखा जाए?
list.setAdapter(new ArrayAdapter<String>(this,R.layout.double_row, R.id.doubleRow, articleItemsHelper));
है यह काम करता है अगर articleItemsHelperस्ट्रिंग है, लेकिन मैं एचटीएमएल वहाँ में स्वरूपण तो टाइप articleItemsHelper है जब फैला इस (अनुकूलक) है चाहता हूँ काम नहीं करता
ArrayList<Spanned> articleItemsHelper = new ArrayList<Spanned>();
समाधान क्या है?
संपादित करें: यहाँ समाधान है - कस्टम एडाप्टर
private static class SpannedAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private ArrayList<Spanned> mArticleList;
public SpannedAdapter(Context context, ArrayList<Spanned> articleList) {
mInflater = LayoutInflater.from(context);
mArticleList = articleList;
}
public int getCount() {
return mArticleList.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.single_row, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.singleRow);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(mArticleList.get(position));
return convertView;
}
static class ViewHolder {
TextView text;
}
}
तो बस नियमित रूप से
list.setAdapter(new SpannedAdapter(this, articleItemsHelper));
फोन जहां
articleItemsHelper
है
ArrayList<Spanned>
ओह, tnx। मैंने ऊपरी पद में समाधान पोस्ट किया। – svenkapudija
वास्तव में अच्छा, दोस्त! – Cristian