touchstart和touchend事件不工作在tableview的钛(Android)
touchstart and touchend events not working on tableview of titanium(Android)
我正在使用Titanium开发Android应用程序。我想在titanium的tableview上应用touchstart和touchend事件。我尝试了以下代码:
var userWin = Ti.UI.currentWindow;
var data = [];
for (var i=0;i<5;i++)
{
var row = Ti.UI.createTableViewRow({height:'auto',className:"row"});
var username = Ti.UI.createLabel(
{
text:'user name',
height:'auto',
font:{fontSize:12, fontFamily:'Helvetica Neue', color:'#000'},
width:'auto',
color:'#000',
textAlign:'left',
top:0,
left:35,
});row.add(username);
var imageView = Ti.UI.createImageView(
{
image:'../images/user.png',
left:0,
top:0,
height:25,
width:25
});row.add(imageView);
}
usertable_table.setData(data);
userWin.add(feed_table);
userWin.addEventListener('touchstart', function(e){
alert(e.x);
// Ti.API.debug(['row touchstart', e]);
});
如果我点击表格的行它不会弹出,不会应用touchstart事件。但如果我点击像image或name这样的行元素,它会给出输出,也就是value e.x。即使我将两个事件应用于当前窗口,它也会给出输出。但如果我应用于表视图的行或表视图它就不起作用了。实际上我正在尝试在桌子上滑动事件,但那也不工作,所以我尝试touchstart和touchend事件。有什么办法可以解决这个问题吗?
对不起,但你可以在钛文档安卓仍然不提供touchstart
和touchend
的TableViewRow。也许你找到了一个其他的解决方案,但也许别人有类似的麻烦,所以我想提供一个可能的解决方案的想法。不幸的是,您可以向该行添加侦听器,然后单击该行的一个元素。这是因为您可以在SDK 3.0.0及更新版本中控制事件冒泡。在以前的版本中,没有阻止事件冒泡的选项。
滑动是Android也不提供的手势。如果你想使用类似滑动的手势,你可以在一行中所有元素的顶部放置一个透明视图。
Ti.UI.createView({
width: Ti.UI.FILL,
height: Ti.UI.FILL, //should be row height, can be set explicitely if known
backgroundColor: '#0000', //should be transparent
});
那么你可以将所有类似滑动手势的算法应用于这个视图。虽然这个vie是用户可用的最顶层元素,但它应该对所有用户输入做出反应。但是要注意,这个透明视图后面的其他元素的侦听器将不再响应。
相关文章:
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 钛:从Android的相机/图库图像本地保存文件
- 无法写入钛中的文件
- 内容和数据调用密集型钛矿中的应用程序
- 如何使钛文本区域中的单词加粗或斜体
- 钛上的日期
- 钛合金未来的日子和时间倒计时
- 钛制类似脸谱的按钮
- 钛;推荐的方法“;包括“;向前
- 我的第一个钛移动项目出错
- 从钛合金中的选取器获取所选行
- (钛工作室)显示带有排序数据的表视图
- 如何读取钛合金中的当地国家/地区电话代码xml
- 如何从钛中的 Parse.com 更新表中的特定行
- 钛手机 - 未捕获错误:没有这样的表
- 如何使用 XML 合金标记在钛金中的列表视图上设置事件
- touchstart和touchend事件不工作在tableview的钛(Android)
- 奇怪的钛虫,注册推送通知
- 重新加载tableview的选择器元素与更新的数据在钛
- 陀螺仪的钛值