解决方案 »
- 大家说说,如何做到降低内存消耗?如何优化流畅自如?有好的用户体验感!这个大家都说说 顶起来!!
- android如何实现txt分页阅读
- andengine中精灵和刚体能碰撞检测吗?
- 自定义适配器中,如何触发新开窗口--- startActivity()
- 很好奇,在什么情况下程序对ui的更改可以不放到ui主线程中做
- 求助service播放器,activity,service与widget间的通信
- android源码解压出错
- android dialogfragment显示位置
- IDEA开发Android的问题,生成了两个R文件,提示错误
- SQLite根据wifi扫描创建多表的问题
- 下面的用gridview可以实现,上面大图怎么实现,要不影响滚动条滑动
- adb 启动的时候监听的端口成7035,手机跟电脑没办法连接了,怎么办
import java.net.URL;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class emaginfoAdapter extends BaseAdapter {
private LayoutInflater mInflater = null;
private List<Map<String, String>> data;
emaginfoAdapter(Context context, List<Map<String, String>> data) {
// 加载布局
this.mInflater = LayoutInflater.from(context);
this.data = data;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return data.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
// 如果缓存convertView为空,则需要创建View
if (convertView == null) {
holder = new ViewHolder();
// 根据自定义的Item布局加载布局
convertView = mInflater.inflate(R.layout.emaginfo_list, null);
holder.name = (TextView) convertView.findViewById(R.id.magname);
holder.title = (TextView) convertView.findViewById(R.id.emagtitle);
holder.leftImgView=(ImageView)convertView.findViewById(R.id.left_img_emag);
holder.topImgView=(ImageView)convertView.findViewById(R.id.top_img_emag);
// 将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出Tag
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.name.setText((String) data.get(position).get("magname"));
Uri url_left=Uri.parse((String)data.get(position).get("coverimg"));
Uri url_top=Uri.parse((String)data.get(position).get("bannerimg"));
holder.leftImgView.setImageURI(url_left);
holder.topImgView.setImageURI(url_top);
holder.title.setText((String) data.get(position).get("title"));
return convertView;
}
}
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}很明显是这几句出问题,你的getCount()返回空,也就是说列表的数量为Null,getItemId返回0,所以ListView就不显示了,你都没有看清楚1L的代码就敢说自己没问题,仔细点,不要老是盯着getView方法,请把它改成如下:
public class emaginfoAdapter extends BaseAdapter {
private LayoutInflater mInflater = null;
private List<Map<String, String>> data;
emaginfoAdapter(Context context, List<Map<String, String>> data) {
// 加载布局
this.mInflater = LayoutInflater.from(context);
this.data = data;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
// 如果缓存convertView为空,则需要创建View
if (convertView == null) {
holder = new ViewHolder();
// 根据自定义的Item布局加载布局
convertView = mInflater.inflate(R.layout.emaginfo_list, null);
holder.name = (TextView) convertView.findViewById(R.id.magname);
holder.title = (TextView) convertView.findViewById(R.id.emagtitle);
holder.leftImgView=(ImageView)convertView.findViewById(R.id.left_img_emag);
holder.topImgView=(ImageView)convertView.findViewById(R.id.top_img_emag);
// 将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出Tag
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.name.setText((String) data.get(position).get("magname"));
Uri url_left=Uri.parse((String)data.get(position).get("coverimg"));
Uri url_top=Uri.parse((String)data.get(position).get("bannerimg"));
holder.leftImgView.setImageURI(url_left);
holder.topImgView.setImageURI(url_top);
holder.title.setText((String) data.get(position).get("title"));
return convertView;
}
}