こんにちは、私は、チタンを使用してAndroidアプリケーションを開発しています。クリックで画像を変更するには、次のコードを使用しました。しかし、問題は、画像をクリックすると一度だけ(最初のクリックで)変更されます。もう一度クリックすると、変更された画像は表示されません。しかし警告では、画像ソースが変更されたことを示しています。 (変更は画面に反映されません!!)もう一つの問題は、クリックすると(画像が変更される)、子ウィンドウに戻り、戻ってくることです。変更内容は保持されません。テーブルビューで変更された要素を変更して保持するチタン
var feed_table = Ti.UI.createTableView({minRowHeight:5,hasChild:true});
var data = [];
for (var i=0;i<5;i++)
{
var row = Ti.UI.createTableViewRow({height:'auto',className:"row"});
var username = Ti.UI.createLabel(
{
text:'nilkash',
height:'auto',
font:{fontSize:12, fontFamily:'Helvetica Neue'},
width:'auto',
color:'#000',
textAlign:'left',
top:0,
left:35,
});row.add(username);
var doneCheckbox = Titanium.UI.createImageView(
{
id:'image_'+i,
clickName:'ClickName',
image:'../images/finished-work.png',
width:15,
height:15,
top:32,
left:0,
});row.add(doneCheckbox)
data.push(row);
}
feed_table.setData(data);
feedWin.add(feed_table);
feed_table.addEventListener('click',function(e)
{
if (e.source.clickName == 'ClickName')
{
if(feed_table.data[0].rows[e.index].children[1].image == '../images/work.png')
{
feed_table.data[0].rows[e.index].children[1].image = '../images/finished-work.png';
}
else if (e.source.clickName == 'ClickName')
{
feed_table.data[0].rows[e.index].children[1].image = '../images/work.png';
}
}
});
また、2つの画像を切り替えるだけの別の簡単なソリューションも使用しました。しかし、これらの変更も保持しません。その変更を再度テーブルビューにプッシュする必要があるかどうか事前に助けてくれてありがとう。
クイックreply.butありがとうございました。テーブルビューで別のイメージを削除して配置する方法。この問題は最初に** feed_table.setData(data); and feedWin.add(feed_table); **画像を置き換えるコードを実行します。そこには何らかの解決策があります。 – nilkash
私の投稿が更新されました。お役に立てれば – mkind