0
我有一個應用程序,用於替換tilelist中所選符號的行中的選定文本,這些文本都是動態加載的字符! 我不知道該怎麼做才能夠確定選擇了多少個字符,如果您選擇了一個符號,然後下載某些字符(替換),並且如果其他字符(如果其他字符未選中或選擇爲tsyfry ...那麼這條消息...如何知道字符串中的哪些字符被分配?
我只是爲了突出字符被選中tilelist ... 其餘的!請幫助....
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationComplete="contactsService.send()"
creationComplete="init()"
layout="absolute" viewSourceURL="srcview/index.html">
<fx:Script>
<![CDATA[
private function replaceSelect(event:MouseEvent):void
{
var obj:Object = lst.selectedItem;
var selStr:int = txt.selectionBeginIndex;
var selEnd:int = txt.selectionEndIndex;
if((lst.selectedItem != null)&&(selStr!=selEnd))
{
txt.text = txt.text.substring(0,selStr)+lst.selectedItem.toString()+txt.text.substring(selEnd,txt.text.length)
}
lst.visible = false;
}
[Bindable]
private var cm:ContextMenu;
private function init():void {
var cmi:ContextMenuItem = new ContextMenuItem("Special Characters", true);
cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, cmSelect);
cm = new ContextMenu();
cm.hideBuiltInItems();
cm.customItems = [cmi];
}
private function cmSelect(evt:ContextMenuEvent):void {
lst.visible = true;
}
]]>
</fx:Script>
<fx:Declarations>
<mx:HTTPService id="contactsService"
resultFormat="e4x"
url="symbols.xml"/>
</fx:Declarations>
<mx:Panel width="508" height="487" x="20" y="20">
<mx:TextInput
id="txt"
text="Test String Flex"
contextMenu="{cm}"
width="303"/>
<mx:TileList
id="lst"
visible="false"
dataProvider="{contactsService.lastResult.symb}"
columnCount="4"
columnWidth="25"
rowCount="3"
rowHeight="25"
verticalScrollPolicy="on"
click="{replaceSelect(event)}"/>
</mx:Panel>
</mx:Application>
我不能完全理解你所寫的 – Sersh 2011-04-20 12:11:17
哪一部分?你是否試圖保存「歷史」和「撤消」行動? – Imran 2011-04-20 12:17:09
不,我需要在選擇一個字母時加載符號,如果您選擇加載其他字符的2個字母,並且如果沒有選擇不是一個字母..顯示消息..表示沒有選擇一個字母 我來自根據這個我覺得很難解釋(((( – Sersh 2011-04-20 12:29:51