【问题标题】:Exception when extends Pageradapter with image path from R.strings使用来自 R.strings 的图像路径扩展 Pageradapter 时出现异常
【发布时间】:2017-10-03 23:03:25
【问题描述】:

我正在尝试本地化网站上的图片。 在本地化之前,我已经使用了 pageradapter。 我只是试图将网络图像文件路径放在 R.string 上并将其放在 pageradapter 上。 但它会产生异常。

这是我的字符串(实际地址有点不同。)

http://~~~/content/2017/05/map.jpg

这是我在 pageradapter 中的代码。

public class ChangImageClass extends PagerAdapter{

LayoutInflater inflater;
OnlineImage on;
Context context;
private String changUrla =  "http://hanculture.org/content/2017/05/map.jpg";
private String changUrlab =  context.getString(R.string.Url);

在“private String changUrlab = context.getString(R.string.Url);”处引发的异常

有没有人给我一个提示来解决这个问题? 我不确定“R.strings”无法传输图像路径源或其他错误。 (我在 android 和 java 方面几乎是 bignner ..)

更新了异常日志。 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: java.lang.NullPointerException 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 org.android.changdeokgung.ChangImageClass.(ChangImageClass.java:33) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 org.android.changdeokgung.MultiusedImages.onCreate(MultiusedImages.java:311) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.Activity.performCreate(Activity.java:5231) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.ActivityThread.access$800(ActivityThread.java:142) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.os.Handler.dispatchMessage(Handler.java:102) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.os.Looper.loop(Looper.java:136) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:5068) 05-05 22:05:32.143 14361-14361/org.android.changdeokgung W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)

【问题讨论】:

  • 把你的异常日志放在这里
  • 实际上没有日志,因为我在其他活动上从 Internet 连接 try catch 方法中得到一个异常。当它可以得到excetion时,由于互联网导致图像无法正确加载。但是,当我像这样更改寻呼机适配器上的代码时,它会显示异常(我在没有代码的情况下将其设为异常,只是敬酒。)
  • onCreateView(){ context = getActivity();}

标签: android string r.java-file


【解决方案1】:

试试这个

//you getting null object of context so you must set context
ChangImageClass pager = new ChangImageClass(getActivity());

    public class ChangImageClass extends PagerAdapter {

                //please assign your context

                LayoutInflater inflater;
                OnlineImage on;
                Context context;
                private String changUrla =  "http://hanculture.org/content/2017/05/map.jpg";
                private String changUrlab;
                public ChangImageClass(Context context){
                 this.context = context;
                 changUrlab =  context.getString(R.string.Url);
               }
    }

【讨论】:

  • 你是在清单中添加这个 吗?
  • 耶!我已经添加了权限。并且...我尝试了您所说的...但是它向我显示了“无法解决方法”的红线....
  • 它只是给了我红色字符...我没有用 null.pointer.exception 检查我的异常日志,它可能会给你一些提示。我将编辑我的帖子稍等。
  • 我扩展了 PagerAdapter。我发布了,但是......它丢失了,我会修复它。
  • 谢谢@Bhpat Bheda!有用!我刚刚遇到另一个问题......但无论如何你的评论是有效的!仅第一行除外。我不知道我怎么能在课前造一个句子……我添加了那个句子,它有效!谢谢!
【解决方案2】:

试试

private String changUrlab =  context.getResources().getString(R.string.Url);

【讨论】:

  • 感谢您的评论...但是我在发帖之前已经尝试过...并且导致了同样的异常....
  • 如@Bhupat Bheda 所说,尝试在构造函数中执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
  • 2013-02-19
  • 2013-12-09
  • 1970-01-01
相关资源
最近更新 更多