首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android listView 显示不全,为什么呢,该如何解决

2013-01-25 
android listView 显示不全,为什么呢我的大的listView 套着小的listView+textView}//这是 里面的适配器cla

android listView 显示不全,为什么呢
我的大的listView 套着小的listView+textView



}
        //这是 里面的适配器
class mAdapter extends BaseAdapter {
private View vi = null;
// private List<SyncDataTypeBean> Adlist = new
// ArrayList<SyncDataTypeBean>();
SyncBean adSyncBean = null;
private List<SyncViewItem> AdlistSyncViewItem = new ArrayList<SyncViewItem>();
private String Adflag = null;// 标志,是上传还是下载,或者同步

/**
 * 传进来数据是可以同步,或者备份,或者恢复的数据
 * 
 * @param context
 * @param list
 * @param flag
 * @param appId
 */
public mAdapter(Context context, SyncBean syncBean, String flag) {
vi = View.inflate(context, R.layout.cta_sync_child_item, null);
this.adSyncBean = syncBean;
this.AdlistSyncViewItem = showSyncItem(adSyncBean, flag);
this.Adflag = flag;
}
/**
 * test 测试使用
 * @param context
 * @param AdlistSyncViewItems
 */
public mAdapter(Context context,List<SyncViewItem> AdlistSyncViewItems){
vi = View.inflate(context, R.layout.cta_sync_child_item, null);


this.AdlistSyncViewItem=AdlistSyncViewItem;
this.Adflag = item;
}
@Override
public int getCount() {
return AdlistSyncViewItem.size();
}

@Override
public Object getItem(int arg0) {
return arg0;
}

@Override
public long getItemId(int arg0) {
return arg0;
}

@Override
public View getView(int location, View arg1, ViewGroup arg2) {
// 发广播 传入的数值
// final String dataTypeId=Adlist.get(currentPosition).dataTypeId;
TextView tvName = (TextView) vi.findViewById(R.id.tv_sync_sms);
TextView tvResult = (TextView) vi.findViewById(R.id.tv_sync_result);
ImageView ibSyncAction = (ImageView) vi
.findViewById(R.id.ib_sync_action01);
// CheckBox cbIsAutoUpdate=(CheckBox)
// vi.findViewById(R.id.cb_is_auto_update01);
Log.d("tag","child--getView-->"+AdlistSyncViewItem.get(location).SyncItemName);
tvName.setText(AdlistSyncViewItem.get(location).SyncItemName);
Log.d("tag", AdlistSyncViewItem.get(location).SyncItemAppID
+ "13-->getView-->"
+ AdlistSyncViewItem.get(location).SyncItemResult);
tvResult.setText(AdlistSyncViewItem.get(location).SyncItemResult);
if ("upload".equals(Adflag)) {// 上传
ibSyncAction.setImageResource(R.drawable.sync_upload_selector);

// cbIsAutoUpdate.setVisibility(View.GONE);
} else if ("down".equals(Adflag)) {// 下载
ibSyncAction.setImageResource(R.drawable.sync_down_selector);
// cbIsAutoUpdate.setVisibility(View.GONE);
} else if ("sync".equals(Adflag)) {// 同步
ibSyncAction.setImageResource(R.drawable.sync_now_selector);
// cbIsAutoUpdate.setVisibility(View.VISIBLE);
}
vi.setTag(AdlistSyncViewItem.get(location));

return vi;
}

}

 
[解决办法]
listview嵌套就会这样,不只是listview,类似scrollview和gridview等嵌套都会。
一般架构设计上是不会两个listview嵌套的,所以建议楼主先评估你的架构设计。
如果实在要实现这个的架构,那可能通过dimen来设置子listview的高度,还要覆写onTouch等来完成信息传递(不然子listview拖不动)。

热点排行