- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是可 ScrollView ,我正在动态地为其分配 View 。在 ios 中,代码工作正常,但在 android 中,我遇到了问题
这是崩溃日志
[ERROR] : TiApplication: (main) [1402,23369] Sending event: exception on thread: main msg:java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0; Titanium 3.2.3,2014/04/22 10:17,b958a70
[ERROR] : TiApplication: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
[ERROR] : TiApplication: at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
[ERROR] : TiApplication: at java.util.ArrayList.get(ArrayList.java:304)
[ERROR] : TiApplication: at ti.modules.titanium.ui.widget.TiUIScrollableView$2.onPageScrolled(TiUIScrollableView.java:192)
[ERROR] : TiApplication: at android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1712)
[ERROR] : TiApplication: at android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1633)
[ERROR] : TiApplication: at android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:581)
[ERROR] : TiApplication: at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1600)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:578)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:578)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:578)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
[ERROR] : TiApplication: at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
[ERROR] : TiApplication: at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
[ERROR] : TiApplication: at android.view.View.layout(View.java:14128)
[ERROR] : TiApplication: at android.view.ViewGroup.layout(ViewGroup.java:4422)
[ERROR] : TiApplication: at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1990)
[ERROR] : TiApplication: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1811)
[ERROR] : TiApplication: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1108)
[ERROR] : TiApplication: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4491)
[ERROR] : TiApplication: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:755)
[ERROR] : TiApplication: at android.view.Choreographer.doCallbacks(Choreographer.java:585)
[ERROR] : TiApplication: at android.view.Choreographer.doFrame(Choreographer.java:555)
[ERROR] : TiApplication: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:741)
[ERROR] : TiApplication: at android.os.Handler.handleCallback(Handler.java:615)
[ERROR] : TiApplication: at android.os.Handler.dispatchMessage(Handler.java:92)
[ERROR] : TiApplication: at android.os.Looper.loop(Looper.java:137)
[ERROR] : TiApplication: at android.app.ActivityThread.main(ActivityThread.java:4949)
[ERROR] : TiApplication: at java.lang.reflect.Method.invokeNative(Native Method)
[ERROR] : TiApplication: at java.lang.reflect.Method.invoke(Method.java:511)
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:810)
[ERROR] : TiApplication: at dalvik.system.NativeStart.main(Native Method)
这是代码
for (var i = 0; i < resultsArray.length; i++) {
var resultViewOuter;
if (Ti.Platform.name === 'iPhone OS') {
resultViewOuter = Ti.UI.createView({
width : 280,
height : Ti.UI.FILL,
left : 2,
right : 2,
backgroundColor : 'white',
tid : resultsArray[i].tid,
tag : i,
});
} else {
resultViewOuter = Ti.UI.createView({
width : 280,
height : Ti.UI.FILL,
left : leftValue + 'dp',
// right : 2,
backgroundColor :'green', //'transparent',
tid : resultsArray[i].tid,
tag : i,
});
}
var resultView;
if (Ti.Platform.name === 'iPhone OS') {
resultView = Ti.UI.createView({
width : 280,
height : Ti.UI.FILL,
left : 0,
right : 0,
backgroundColor : 'white',
tid : resultsArray[i].tid,
tag : i,
layout : 'vertical'
});
} else {
resultView = Ti.UI.createView({
width : 280,
height : Ti.UI.FILL,
left : leftValue,
right : 0,
backgroundColor : 'white',
tid : resultsArray[i].tid,
tag : i,
layout : 'vertical'
});
}
var locationImage;
if (Ti.Platform.name === 'iPhone OS') {
locationImage = Ti.UI.createImageView({
//width : Ti.UI.FILL,
//height : 'auto',
//width: Ti.UI.FILL,
width : '276dp',
//height: PixelsToDPUnits(300),
top : '0dp',
image : 'index.jpg',
borderWidth : '2dp',
borderColor : 'white',
touchEnabled : false,
});
} else {
locationImage = Ti.UI.createImageView({
width : '276dp',
//height: PixelsToDPUnits(300),
top : '0dp',
image : '/images/index.jpg',
borderWidth : '2dp',
borderColor : 'white',
touchEnabled : false,
});
}
//Ti.API.info(resultsArray[i].image_url);
downloadImage(locationImage, resultsArray[i].image_url);
var title = Ti.UI.createTextArea({
color : 'black',
font : {
fontSize : 17,
fontWeight : 'normal'
},
textAlign : 'left',
value : resultsArray[i].headline,
//top : '140dp',
width : Ti.UI.FILL,
// height : '14%',
touchEnabled : false,
backgroundColor : 'transparent',
left : '10dp',
right : '10dp',
});
var description = Ti.UI.createTextArea({
color : 'black',
font : {
fontSize : 12,
fontWeight : 'gray'
},
textAlign : 'left',
value : resultsArray[i].dek,
width : Ti.UI.FILL,
// height : '19.5%',
//top : '190dp',
touchEnabled : false,
backgroundColor : 'transparent',
left : '10dp',
right : '10dp',
});
if (Ti.Platform.name === 'iPhone OS') {
//do nothing
} else {
title.softKeyboardOnFocus = Titanium.UI.Android.SOFT_KEYBOARD_HIDE_ON_FOCUS;
description.softKeyboardOnFocus = Titanium.UI.Android.SOFT_KEYBOARD_HIDE_ON_FOCUS;
}
var moreImage;
if (Ti.Platform.name === 'iPhone OS') {
moreImage = Ti.UI.createImageView({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
image : 'more.png',
bottom : '5dp',
right : '10dp',
touchEnabled : false
});
} else {
moreImage = Ti.UI.createImageView({
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
image : '/images/more.png',
bottom : '5dp',
left : moreImageLeft - 10,
touchEnabled : false
});
}
resultView.add(locationImage);
resultView.add(title);
resultView.add(description);
resultViewOuter.add(resultView);
resultViewOuter.add(moreImage);
allViews.push(resultViewOuter);
resultView.addEventListener('singletap', function(rView) {
var pressedTag = rView.source.tag;
var pressedTid = rView.source.tid;
// console.log("Ti.App.adShown = "+Ti.App.adShown);
if (Ti.App.adShown) {
addOverlay();
Ti.App.fireEvent('toMap', {
result : pressedTid,
resultTitle : resultsArray[pressedTag].headline
});
} else {
Ti.App.adShown = true;
Ti.App.fireEvent('toAd', {
result : pressedTid,
resultTitle : resultsArray[pressedTag].headline
});
}
});
}但是这个 for 循环没有执行,因为 resultsArray.length
为零,我认为错误是由于将空数组传递给可 ScrollView
最佳答案
这是最新 SDK 中的回归错误 bug report .
我的解决方法是在构造函数中提供一些默认 View 。
scrollableView = Ti.UI.createScrollableView({
id:"mainMenu",
scrollType:"horizontal",
height: "100%",
showPagingControl: true,
backgroundColor: "green",
top: "0",
width: "100%",
views: [Ti.UI.createView({})]
});
关于android - 可 ScrollView 应用程序崩溃的 Titanium Android 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669082/
在 Alloy 文档中,它提到您可以拥有一个集合的单例或实例。您可以使用实例标签定义一种或另一种方式: 我理解单例 vs 实例背后的一般思想....
如何为 Titanium 应用程序创建自动用户界面测试?该框架是否包含用于此的内容?有没有有用的第三方工具? 最佳答案 你看过titanium-jasmine? 我从来没有亲自使用过它,但我听说它对这
我使用以下代码在 Titanium 中绘制了一个圆。 var wheelTop = Ti.UI.createImageView({ width: 100, height
如何通过 Titanium 移动应用程序发送电子邮件。 我收到“本地主机被拒绝”的错误 最佳答案 我猜你用的是类似 mailto:email@mydomain.com 的东西. 您应该使用电子邮件对话
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, over
我使用的是 Titanium 3.1.3 GA 版本。 在项目中包含移动应用程序跟踪模块时,收到“构建失败”错误消息。 尝试新项目也遇到同样的错误。 [ERROR] : ** BUILD FAILE
是否有用于 Titanium 的 rails console 之类的东西,我可以在那里玩一点 API?或者更好的调试器? 或者您可以向我推荐一个不同的工作流程,而不必编辑源代码 > 编译 > Ti.A
我刚刚开始使用 Appcelerator 的钛合金。 如何为我的 添加样式 Controller /index.js 这是代码: var title = Titanium.UI.createLabel
我的团队在过去几个月一直在开发 Titanium,现在我们面临一个问题:当我们对 View 代码进行更改(更改其字体、背景或大小)时,需要很长时间(大约 1分钟),直到我们看到结果显示在设备上。这真是
我想为我正在使用 Titanium 框架开发的移动应用程序添加一个计时器。我在文档中没有找到任何相关的东西。任何人都可以为这个问题提出一个解决方案。 感谢 最佳答案 如果您是指稍后执行代码的计时器,只
下面是我的代码。它在 iPhone 上完美运行,但图像在 Android 上被拉伸(stretch),所以它没有显示标签。 var friendsButton = Titanium.UI.create
我在 tableview 中用图像和几个按钮自定义了一个 tableviewrow。我已经获得了我点击的行的索引,但我需要这样做,以便当我点击 tableviewrow 中的按钮时,它将返回该行的索引
我需要向我的用户添加照片,通过从网络界面执行此操作,我将照片设置为名为 photo 的字段,但如果我尝试以编程方式执行相同的操作移动应用程序不起作用。 photonativePath 是我的相机或图库
如何在钛合金中使用 Proguard 或者是否有任何类似的功能以使代码反编译更难实现?有什么建议吗? 最佳答案 我自己研究了一下,发现是可以做到的。然而,Appcelerator 的 jira 中有关
我正在将恢复事件附加到应用程序,我想检测当前聚焦的窗口 Ti.App.addEventListener('resume', function(e) { // what window is focu
我在 tableview 中用图像和几个按钮自定义了一个 tableviewrow。我已经获得了我点击的行的索引,但我需要这样做,以便当我点击 tableviewrow 中的按钮时,它将返回该行的索引
对于条形码扫描,有可用的模块,如 Redlaser , Scandit ..ETC。有没有从数字生成条形码的模块(反向过程)? 谢谢。 最佳答案 避免使用 main of modules 的好方法是,
我一直在使用此代码将图像从 imageviewer 存储到设备内存。 blobObj = imageView.toImage(); var f = Titanium.Filesystem.getFil
我是钛的新移动应用程序开发人员。我想看一行一行的调试。检查一些循环或代码。 (特别是“ANDROID”) 用于检查我的应用程序在哪里“崩溃”。请帮我, 提前致谢 最佳答案 您必须设置 切换中断 通过右
我正在尝试在我们的 iOS 13 及更高版本的应用中实现深色模式主题。我已点击此链接 Dark Mode in iOS 13 .但我面临一些问题。我附上了下面的示例代码。我期望如果我更改启用深色外观,
我是一名优秀的程序员,十分优秀!