簡體   English   中英

Appcelerator ti.paint模塊不會在Android上加載圖像

[英]Appcelerator ti.paint module won't load image on android

我在android上的ti.paint模塊出錯。 每當我嘗試設置圖像時,我的應用程序就會崩潰(在iOS上運行正常),我嘗試了以下代碼:

var paintView = Paint.createPaintView({
    top:0, right:0, bottom:80, left:0,
    image : "images/doge.png",
    eraseMode : true,
    strokeWidth : 70
});

image : "/images/doge.png"

image = "http://dogr.io/doge.png"

最后

var dogeFile = Titanium.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, 'images/doge.png');
var paintView = Paint.createPaintView({
    top:0, right:0, bottom:80, left:0,
    image : dogeFile.nativePath,
    eraseMode : true,
    strokeWidth : 70
});

但是,應用程序每次在Android上崩潰(在iOS上運行正常)。

我也嘗試過使用jpeg圖片,甚至使用NULL值。

這是我在控制台中收到的錯誤消息

[ERROR] TiApplication: (main) [0,205] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to start activity ComponentInfo{wow.much.scratch/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException; Titanium 3.2.3,2014/04/22 10:17,b958a70
[ERROR] TiApplication: java.lang.RuntimeException: Unable to start activity ComponentInfo{wow.much.scratch/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException
[ERROR] TiApplication:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
[ERROR] TiApplication:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
[ERROR] TiApplication:  at android.app.ActivityThread.access$600(ActivityThread.java:141)
[ERROR] TiApplication:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
[ERROR] TiApplication:  at android.os.Handler.dispatchMessage(Handler.java:99)
[ERROR] TiApplication:  at android.os.Looper.loop(Looper.java:137)
[ERROR] TiApplication:  at android.app.ActivityThread.main(ActivityThread.java:5103)
[ERROR] TiApplication:  at java.lang.reflect.Method.invokeNative(Native Method)
[ERROR] TiApplication:  at java.lang.reflect.Method.invoke(Method.java:525)
[ERROR] TiApplication:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
[ERROR] TiApplication:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
[ERROR] TiApplication:  at dalvik.system.NativeStart.main(Native Method)
[ERROR] TiApplication: Caused by: java.lang.NullPointerException
[ERROR] TiApplication:  at ti.modules.titanium.paint.UIPaintView$PaintView.setImage(UIPaintView.java:224)
[ERROR] TiApplication:  at ti.modules.titanium.paint.UIPaintView.<init>(UIPaintView.java:42)
[ERROR] TiApplication:  at ti.modules.titanium.paint.PaintViewProxy.createView(PaintViewProxy.java:30)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:463)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:449)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:487)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:471)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:449)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.handleAdd(TiViewProxy.java:566)
[ERROR] TiApplication:  at org.appcelerator.titanium.proxy.TiViewProxy.add(TiViewProxy.java:544)
[ERROR] TiApplication:  at ti.modules.titanium.ui.WindowProxy.windowCreated(WindowProxy.java:303)
[ERROR] TiApplication:  at org.appcelerator.titanium.TiActivityWindows.windowCreated(TiActivityWindows.java:32)
[ERROR] TiApplication:  at org.appcelerator.titanium.TiBaseActivity.windowCreated(TiBaseActivity.java:452)
[ERROR] TiApplication:  at org.appcelerator.titanium.TiBaseActivity.onCreate(TiBaseActivity.java:528)
[ERROR] TiApplication:  at org.appcelerator.titanium.TiActivity.onCreate(TiActivity.java:18)
[ERROR] TiApplication:  at android.app.Activity.performCreate(Activity.java:5133)
[ERROR] TiApplication:  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
[ERROR] TiApplication:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
[ERROR] TiApplication:  ... 11 more

我正在運行Titanium SDK3.2.3.GA。

任何幫助,將不勝感激。

我目前在ti.paint上工作,我在Android上遇到了同樣的問題。 Android的管理視圖與Titanium的管理視圖不同,那么這就產生了問題。這個主意是使用主線程。

這里是PaintViewProxy.java模塊的更改:

@Kroll.setProperty
@Kroll.method
public void setImage(String imagePath) {
    final String imgPath = imagePath;
    getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {
            paintView.setImage(imgPath);
        }
    });
}

重新編譯它,它應該工作,它對我有用。 希望您有幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM