我现在要做个ListView,里面需要按日期分为大类,然后点一个日期,就会展开这个日期下面的所有条目,点内容可以跳转到另一个页面现在展开实现了,但每个条目都占一个日期
private ArrayList<HashMap<String, Object>> getArchive(AInfo inInfo)
{
ABlock block= inInfo.getBlock("result"); listItem = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("lastDownloadTime", inInfo.get("lastDownloadTime"));
for(int i = 0 ; i < block.getRowCount();i++)
{
map.put("a_id", block.getCellStr(i,"a_id"));
map.put("a_status", block.getCellStr(i,"a_status")); map.put("a_info", block.getCellStr(i,"a_info"));
listItem.add(map);
}
return listItem;//列表部分
public SimpleAdapter BindSimpleAdapter(ArrayList<HashMap<String,Object>> list)
{
SimpleAdapter adapter = new SimpleAdapter
(this,
listItem,
R.layout.archivelist,
new String[] { "lastDownloadTime","a_info" },
new int[] {R.id.list_item_1,R.id.list_item_2});
return adapter;
}
OnItemClickListener LVlistener = new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
if(arg2 != mLastPosition)
{
//如果点击的条目和上一次的不同,那么就展开本条目,关闭上次展开的条目
setVisible(arg1);
setGone(mLastView);
mLastPosition = arg2;
mLastView = arg1;
}
else
{
setGone(arg1);
mLastPosition = -1;
mLastView =null;
}
}
};
/*
* 设置view可见
*/
private void setVisible(View view)
{
if(view == null)return;
LinearLayout layout = (LinearLayout)view;
layout.findViewById(R.id.list_item_2).setVisibility(View.VISIBLE);
layout.findViewById(R.id.iv_1).setVisibility(View.VISIBLE);
}
/*
* 设置view不可见
*/
private void setGone(View view)
{
if(view == null)return;
LinearLayout layout = (LinearLayout)view;
layout.findViewById(R.id.list_item_2).setVisibility(View.GONE);
layout.findViewById(R.id.iv_1).setVisibility(View.GONE);
}
private ArrayList<HashMap<String, Object>> getArchive(AInfo inInfo)
{
ABlock block= inInfo.getBlock("result"); listItem = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("lastDownloadTime", inInfo.get("lastDownloadTime"));
for(int i = 0 ; i < block.getRowCount();i++)
{
map.put("a_id", block.getCellStr(i,"a_id"));
map.put("a_status", block.getCellStr(i,"a_status")); map.put("a_info", block.getCellStr(i,"a_info"));
listItem.add(map);
}
return listItem;//列表部分
public SimpleAdapter BindSimpleAdapter(ArrayList<HashMap<String,Object>> list)
{
SimpleAdapter adapter = new SimpleAdapter
(this,
listItem,
R.layout.archivelist,
new String[] { "lastDownloadTime","a_info" },
new int[] {R.id.list_item_1,R.id.list_item_2});
return adapter;
}
OnItemClickListener LVlistener = new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
if(arg2 != mLastPosition)
{
//如果点击的条目和上一次的不同,那么就展开本条目,关闭上次展开的条目
setVisible(arg1);
setGone(mLastView);
mLastPosition = arg2;
mLastView = arg1;
}
else
{
setGone(arg1);
mLastPosition = -1;
mLastView =null;
}
}
};
/*
* 设置view可见
*/
private void setVisible(View view)
{
if(view == null)return;
LinearLayout layout = (LinearLayout)view;
layout.findViewById(R.id.list_item_2).setVisibility(View.VISIBLE);
layout.findViewById(R.id.iv_1).setVisibility(View.VISIBLE);
}
/*
* 设置view不可见
*/
private void setGone(View view)
{
if(view == null)return;
LinearLayout layout = (LinearLayout)view;
layout.findViewById(R.id.list_item_2).setVisibility(View.GONE);
layout.findViewById(R.id.iv_1).setVisibility(View.GONE);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货