我想創建一個自定義列表適配器,該列表適配器正在使用volley填充json數組,但是我想在每個列表項中放置可點擊的項目列表。下面是一個例子JSON,我要用來填充列表Android列表適配器,每個列表項中有一個數組列表
[
{
"name": "Hopewell Mutanda",
"answer": "This is my answer",
"votes": 10,
"date": 20-06-2014,
"comments": [
{
"comment": "This is a great answer",
"name": "Gloria Nyakudya",
"date": 21-10-2014,
"vote": 20,
},
]
},
]
下面是我期待在年底,但我沒有手動佈局。我想用一個適配器來做。請注意,評論列表也有自己的xml資源和兩種不同的文字視圖。評論應該是可點擊的。
http://encodable.com/uploaddemo/files/Screenshot_2014-12-02-23-55-33.png
我的問題是我如何去改變我的自定義適配器,以適應這些requrements。我打算使用一個類似於這個的適配器來進行一些名稱更改。
private class EfficientAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public EfficientAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
public int getCount() {
return mDataList.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.feed_list_item, null);
holder = new ViewHolder();
mFeedImage = (ImageView) convertView.findViewById(R.id.feed_image);
mFeedImageAuthor = (ImageView) convertView.findViewById(R.id.feed_image_image_author);
mFeedTitle = (TextView) convertView.findViewById(R.id.feed_title);
mFeedDate = (TextView) convertView.findViewById(R.id.feed_date);
mFeedAuthor = (TextView) convertView.findViewById(R.id.feed_author);
mFeedTag = (TextView) convertView.findViewById(R.id.feed_tag);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Typeface custom_font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/RobotoSlab-Light.ttf");
mFeedTitle.setTypeface(custom_font);
holder.mFeedTitle.setText(mDataList.get(position).getsFeedTitle());
holder.mFeedDate.setText(mDataList.get(position).getsFeedDate()) ;
holder.mFeedAuthor.setText(mDataList.get(position).getsFeedAuthor()) ;
holder.mFeedTag.setText(mDataList.get(position).getsFeedTag()) ;
mListView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
}
});
return convertView;
}
class ViewHolder {
TextView mFeedTitle, mFeedDate, mFeedAuthor, mFeedTag;
ImageView mFeedImage, mFeedImageAuthor;
}
}
'但我想列出每個列表項目中可點擊的項目 - 你能解釋你如何可視化你的列表 – kiruwka 2014-12-02 19:41:45
我也很困惑。 mListView是此適配器提供視圖的列表嗎?或者你想把一個ListView放入你的列表項目(並進入你的持有者)。列表中的列表似乎是一個糟糕的主意。你確定你需要嗎?你能否給出一個項目有多少評論的計數,然後在他們點擊一個項目時有一個單獨的細節視圖? – Bruce 2014-12-02 20:00:04
夥計們請檢查我的編輯並點擊鏈接。我猜它可能有助於解釋我想實現的目標 – 2014-12-02 22:09:15