1
我從我的應用程序的每個視圖中的異步數據庫加載圖像。查看轉換故障排除
我在Pop/PushView中使用視圖過渡來在視圖之間切換。
問題:圖像在ViewTransition完成之後加載,而不是之前加載。
解決方案?
,代碼:
private function NextView():void
{
selectStmt = new SQLStatement();
selectStmt.sqlConnection = conn;
var sql:String = "SELECT rowid, List, CAST(Image AS ByteArray) AS Image FROM Data
WHERE rowid = @nextPage" ;
selectStmt.parameters["@nextPage"] = nextPage; // Id of next record
selectStmt.text = sql;
selectStmt.addEventListener(SQLEvent.RESULT, selectResult);
selectStmt.addEventListener(SQLErrorEvent.ERROR, selectError);
selectStmt.execute();
navigator.pushView(NextView, nextPage, null, nextViewTransition);
}
private function selectResult(event:SQLEvent):void
{
selectStmt.removeEventListener(SQLEvent.RESULT, selectResult);
selectStmt.removeEventListener(SQLErrorEvent.ERROR, selectError);
var result:SQLResult = selectStmt.getResult();
if (result.data != null)
{
resultArray = new ArrayCollection(result.data);
rowid = result.data[0].rowid;
listName = result.data[0].List;
viewImage = result.data[0].Image;
pageImage.source = viewImage;
}
}
這是顯而易見的問題,對吧?所以我嘗試了幾種不同的方法,但我也有同樣的運氣。我可以將哪種事件監聽器放在圖像源上進行更改? mxml具有更改屬性以及其他一些有用的屬性,但pushViews正在ActionScript中調用。我正在嘗試回收相同的代碼以用於推送和彈出呼叫。 – SQLiteNoob
好吧,你有'結果'功能嗎?之後改變視圖?另外,我相信'complete'事件是在圖像完成加載時從Image組件分派的。 –