Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 适配器可以';t在Android上从JSON加载图像_Java_Android_Json - Fatal编程技术网

Java 适配器可以';t在Android上从JSON加载图像

Java 适配器可以';t在Android上从JSON加载图像,java,android,json,Java,Android,Json,我的JSON代码有一些问题。 我想显示一个包含文本和图像的列表。文本和图像存储在我的在线数据库中,我使用JSON将它们下载到我的android应用程序中 JSON不显示任何错误,显示文本但不显示图像 我检查了logcat,这个过程没有错误。我使用viewAdapter在列表上显示图像 请师傅帮帮我,你能给我一些简单的解释怎么解决这个问题吗 谢谢 注意。这是我的HomeFragment.java代码(我在这里做JSON) } 这是categoryAdapter.java的代码(我将JSON的结果放

我的JSON代码有一些问题。 我想显示一个包含文本和图像的列表。文本和图像存储在我的在线数据库中,我使用JSON将它们下载到我的android应用程序中

JSON不显示任何错误,显示文本但不显示图像

我检查了logcat,这个过程没有错误。我使用viewAdapter在列表上显示图像

请师傅帮帮我,你能给我一些简单的解释怎么解决这个问题吗

谢谢

注意。这是我的HomeFragment.java代码(我在这里做JSON)

}

这是categoryAdapter.java的代码(我将JSON的结果放在列表中)

公共类CategoryAdapter扩展ArrayAdapter实现View.OnClickListener{
私人充气机;
私有最终ArrayList类别列表;
私人活动;
私有HomeFragment.CategorySelectionCallbacks mCallbacks;
私有字符串dummyUrl=”http://www.howiwork.org";
AbsListView.LayoutParams参数;
public CategoryAdapter(活动活动,HomeFragment.CategorySelectionCallbacks McCallbacks,ArrayList categoryList){
超级(活动、右布局、布局和类别列表);
这个。活动=活动;
this.inflater=LayoutInflater.from(activity.getApplicationContext());
this.categoryList=categoryList;
this.mCallbacks=mCallbacks;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
持票人行;
if(convertView==null){
convertView=充气机。充气(R.layout.layout\u类别列表,空);
行=新的视图持有者();
row.bannerImage=(ImageView)convertView.findViewById(R.id.catBannerImageView);
row.categoryImage=(ImageView)convertView.findViewById(R.id.catImageView);
row.categoryName=(TextView)convertView.findViewById(R.id.catNameTV);
}否则{
row=(ViewHolder)convertView.getTag();
}
Category=categoryList.get(位置);
毕加索.with(活动).load(实用方法)
.getDrawableFromFileName(活动,类别.getIconUrl())
.tag(category.getIconUrl())
.进入(行类别图像);
row.categoryName.setText(category.getTitle());
毕加索。与(活动)
.load(UtilMethods.getDrawableFromFileName(活动,类别.getImageUrl()))
.占位符(R.drawable.img\u banner\u占位符)
.tag(category.getIconUrl())
.fit()
.进入(横幅图像行);
row.bannerImage.setOnClickListener(此);
row.categoryImage.setTag(位置);
row.categoryName.setTag(位置);
row.bannerImage.setTag(位置);
返回视图;
}
@凌驾
public int getCount(){
返回categoryList.size();
}
@凌驾
公共void onClick(视图v){
int position=Integer.parseInt(v.getTag().toString());
mCallbacks.onCategorySelected(categoryList.get(position).getId(),
categoryList.get(position.getTitle());
}
私有静态类视图持有者{
公众影像浏览;
公共文本视图类别名称;
公共图像视图类别图像;
}
}试试这个

Picasso.with(activity).load(category.getIconUrl())
        .into(row.categoryImage);

如果成功的话!。您可以检查UtilMethods.getDrawableFromFileName()

您可以发布类和方法UtilMethods.getDrawableFromFileName(),如果其余数据正在加载,则可能是您使用毕加索加载数据的方式存在问题。检查
UtilMethods.getDrawableFromFileName()
类别。getImageUrl()
这是因为我的图像太大吗,先生?请先尝试将该URL加载到浏览器中。是在加载图像吗?我不能这样做,先生,android studio给我的错误是“无法解析方法.导入”
public class CategoryAdapter extends ArrayAdapter<Category> implements View.OnClickListener {

private final LayoutInflater inflater;
private final ArrayList<Category> categoryList;
private Activity activity;
private HomeFragment.CategorySelectionCallbacks mCallbacks;
private String dummyUrl = "http://www.howiwork.org";
AbsListView.LayoutParams params;


public CategoryAdapter(Activity activity, HomeFragment.CategorySelectionCallbacks mCallbacks, ArrayList<Category> categoryList) {
    super(activity, R.layout.layout_category_list);
    this.activity = activity;
    this.inflater = LayoutInflater.from(activity.getApplicationContext());
    this.categoryList = categoryList;
    this.mCallbacks = mCallbacks;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder row;
    if (convertView == null) {
        convertView = inflater.inflate(R.layout.layout_category_list, null);
        row = new ViewHolder();
        row.bannerImage = (ImageView) convertView.findViewById(R.id.catBannerImageView);
        row.categoryImage = (ImageView) convertView.findViewById(R.id.catImageView);
        row.categoryName = (TextView) convertView.findViewById(R.id.catNameTV);








    } else {
        row = (ViewHolder) convertView.getTag();

    }

    Category category = categoryList.get(position);
    Picasso.with(activity).load(UtilMethods
            .getDrawableFromFileName(activity,category.getIconUrl()))
            .tag(category.getIconUrl())
            .into(row.categoryImage);
    row.categoryName.setText(category.getTitle());

    Picasso.with(activity)
            .load(UtilMethods.getDrawableFromFileName(activity,category.getImageUrl()))
            .placeholder(R.drawable.img_banner_placeholder)
            .tag(category.getIconUrl())
            .fit()
            .into(row.bannerImage);


    row.bannerImage.setOnClickListener(this);
    row.categoryImage.setTag(position);
    row.categoryName.setTag(position);
    row.bannerImage.setTag(position);
    return convertView;
}

@Override
public int getCount() {
    return categoryList.size();
}

@Override
public void onClick(View v) {
    int position = Integer.parseInt(v.getTag().toString());
    mCallbacks.onCategorySelected(categoryList.get(position).getId(),
            categoryList.get(position).getTitle());
}

private static class ViewHolder {
    public ImageView bannerImage;
    public TextView categoryName;
    public ImageView categoryImage;
}
Picasso.with(activity).load(category.getIconUrl())
        .into(row.categoryImage);