无法将图片加载到片段视图中。

7 浏览
0 Comments

无法将图片加载到片段视图中。

我有一个片段,应该用Picasso创建的ImageView来填充背景。

public class Fragment1 extends SherlockFragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        Context c = getActivity().getApplicationContext();
        View myFragmentView = inflater.inflate(R.layout.home, container, false);
        TextView text = (TextView) myFragmentView.findViewById(R.id.text);
        ImageView imageView = (ImageView) myFragmentView.findViewById(R.id.image);
        String url = ModalScreens.byId(1).getBackgroundImagePath();
        Picasso.with(c).load(url).fit().into(imageView);
        return myFragmentView;
    }
}

我无法弄清楚我做错了什么,但是图片无法加载。

0
0 Comments

问题的出现原因可能是加载本地资源而不是网络资源。如果是前者的情况,你可以像下面这样加载它:

StackOverflow showing image View from local disk

如果不是,并且你正在加载网络图片,那么可能有各种问题,以下是一些建议的故障排除方法:

  1. 你是否添加了以下权限?

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

  1. 链接是否有效(如adavis所建议的)?没有前后空格等。你可以通过以下方式进行测试:

Log.wtf("Testing valid URL", "|"+url+"|")

  1. 图片是否太大?如果是,可能会返回null。

    Image too large Stackoverflow answer

  2. ImageView是否正确设置显示?你可以通过将其初始设置为某个图片来确认,例如在你的ImageView的布局xml中添加以下代码:

    android:src="/large

解决方法:

1. 如果加载的是本地资源,可以按照上述链接中的代码示例进行加载。

2. 如果加载的是网络图片,可以按照以下步骤进行故障排除:

- 确保已添加网络权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission>

- 检查链接是否有效,可以通过打印链接进行测试:Log.wtf("Testing valid URL", "|"+url+"|")

- 检查图片是否过大,如果是,可能会返回null,可以根据链接中的解决方法进行处理。

- 确认ImageView是否正确设置显示,可以通过将其初始设置为某个图片来确认。

通过以上步骤进行故障排除,应该能够解决无法使用Picasso加载图片到Fragment视图的问题。

0