gpt4 book ai didi

android - 钛 android 中的 tableview 子项中的标签文本未更新。但在 IOS 中有效

转载 作者:可可西里 更新时间:2023-11-01 19:07:41 25 4
gpt4 key购买 nike

我已尝试使用钛更新/更改 android 中的 lebel。但该值未显示在文本上。但我在警报中获取更新后的值。但 ios 工作正常。

 var itemcounttext = Ti.UI.createLabel({
top: 5,
color: "#000000",
left:10,
text:data[i].itemCount,
width: Ti.UI.SIZE,
height: Ti.UI.SIZE,
});
var additem = Ti.UI.createImageView({
image: "/images/plus.jpg",
top: 5,
width: Ti.UI.SIZE,
left:10,
height: Ti.UI.SIZE,
});
adddeleteitemview.add(additem);
additem.addEventListener('click', function(e)
{
var item=e.source.getParent();
squantity = e.source.squantity;
squantity = Number(squantity) + 1;
item.children[1].text = squantity;
alert(item.children[1].getText());

这里我得到了正确更新值的警报。但它没有显示在标签中。你能给我一个在 android 中解决这个问题的想法吗?

编辑:

根据 VRK 的评论,我也尝试过这个。但它不起作用。但我正确地收到了警报。

item.children[1].setText(squantity);

编辑:

我尝试使用 jsplaine answer。但我找不到解决方案。我在这里创建了 tableview。在这个 tableview 行中,我们正在创建 View 。在该 View 中,我添加了 additem,itemcounttext 值。如果我们单击 additem 意味着需要更改 itemcounttext 值。这是一个流程。

像下面的截图是我的应用程序 tableview 的 subview :

productname

remove itemcount add
image text image

这三个图像、文本、图像值被添加到一个 View 中。这就是为什么我在单击添加图像时添加用于获取父 View 的代码:

var item=e.source.getParent();

我正在获取父项。我还编写了以下代码来获取此 View 的标签:

item.children[1].text

如果我点击添加图片,我得到的标签值正确地增加了 1。我用这段代码验证了 alert(item.children[1].getText());。但更新后的值没有显示。这是我的确切疑问。

编辑:

这是我的完整源代码。

 dataArray = [];       
$.ViewCartItemslist_total_value.text = totalamount;
for( var i=0; i<data.length; i++){

//创建tableviewrow

 var row = Ti.UI.createTableViewRow({
layout : 'horizontal',
top:5,
width: "100%",
height: Ti.UI.SIZE,
});
row.add(Ti.UI.createImageView({
image: data[i].image,
top: 5,
width: '50',
height: Ti.UI.SIZE,
}));
row.add(Ti.UI.createLabel({
text: data[i].name,
top: 5,
width: 180,
font: { fontSize: '10dp' },
color: '#040404',
wordWrap: true,
height: Ti.UI.SIZE,
ellipsize: true
}));

//在tableviewrow的每一行中创建 View

 var adddeleteitemview = Ti.UI.createView({
width: Ti.UI.SIZE,
height: Ti.UI.SIZE,
layout : 'horizontal',
left:10,
borderColor:"gray",
borderRadius:"10"
});
var removeitem = Ti.UI.createImageView({
image: "/images/minus.jpg",
top: 5,
left:10,
width: "15%",
height: Ti.UI.SIZE,
});
adddeleteitemview.add(removeitem);
var itemcounttext = Ti.UI.createLabel({
top: 5,
color: "#000000",
left:10,
text:data[i].itemCount,
textAlign:'center',
width: "15%",
height: Ti.UI.SIZE,
});
adddeleteitemview.add(itemcounttext);

var additem = Ti.UI.createImageView({
image: "/images/plus.jpg",
top: 5,
width: "15%",
left:10,
squantity : data[i].itemCount,
spprice :data[i].itemPrice,
height: Ti.UI.SIZE,
});
adddeleteitemview.add(additem);
additem.addEventListener('click', function(e)
{
var item=e.source.getParent();
spprice = e.source.spprice;
if(item.children[1].getText() == e.source.squantity){
squantity = e.source.squantity;
totalqty = Number(totalqty) + Number(1);
$.ViewCartItemslist_header_cart.text = totalqty;
totalamount = Number(totalamount) + Number((spprice));
squantity = Number(squantity) + 1;
item.children[1].text = squantity;
// item.itemcounttext.text = squantity;
// item.itemcounttext.setText(squantity);
// item.children[1].setText(squantity);
alert(item.children[1]+" "+item.children[1].getText());
$.ViewCartItemslist_total_value.text = totalamount;
totalprice = Number(spprice) * squantity;
}
else {
squantity = item.children[1].getText();
totalqty = Number(totalqty) + Number(1);
$.ViewCartItemslist_header_cart.text = totalqty;
totalamount = Number(totalamount) + Number((spprice));
squantity = Number(squantity) + 1;
item.children[1].text = squantity;
item.children[1].setText(squantity);
alert(item.children[1].getText());
$.ViewCartItemslist_total_value.text = totalamount;
totalprice = Number(spprice) * squantity;
}
});
row.add(adddeleteitemview);

dataArray.push(row);
row.addEventListener('click', function(e) {
});
$.ViewCartItemstableView.setData(dataArray);
}

最佳答案

无需遍历父/子树,只需将 itemcounttext 设为 additem 的属性即可:

var itemcounttext = Ti.UI.createLabel({
top: 5,
color: "#000000",
left:10,
text:data[i].itemCount,
width: Ti.UI.SIZE,
height: Ti.UI.SIZE
});

var additem = Ti.UI.createImageView({
image: "/images/plus.jpg",
top: 5,
width: Ti.UI.SIZE,
left:10,
height: Ti.UI.SIZE,
});

additem.countTextLabel = itemcounttext;

adddeleteitemview.add(additem);

additem.addEventListener('click', function(e) {
var item=e.source;
var squantity = e.source.squantity;
squantity = Number(squantity) + 1;
item.countTextLabel.setText(squantity);
alert(item.countTextLabel.getText());
});

关于android - 钛 android 中的 tableview 子项中的标签文本未更新。但在 IOS 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30231436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com