我在horizontalFieldManger中添加了5个按钮。
当我点击按钮后,我得到图像后,我从服务器获取图像网址。
我将图像加载到同一屏幕上的verticalfiedlManager中。
我的代码是。
Thread loadImageThread = new Thread()
{
public void run()
{
if(Imagethread)
{
try
{
final Vector url = new Vector();
HttpConnections httpConnection = new HttpConnections(path+suffix);
DataInputStream _inputStream = new DataInputStream(httpConnection.StreamConnection());
getXMLObjects(_inputStream);
_inputStream.close();
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
feedListItem = ListFeedHandler.item;
int Size = feedListItem.size();
for (int i = 0; i < Size; i++)
{
url.addElement(newsBean.getURL());
}
}
});
UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run()
{
loadPicture(url);
}
});
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
};
loadImageThread.start();
在loadPicture(url)方法中。我在verticalfiledmager上获取图像并加载。
当我点击第二个按钮时,我删除了所有在verticafiledmanager上成像并重新加载从第二个按钮获取的内容。
工作正常。
但我的问题是当我连续点击两个,三个,四个按钮时,它的负载是一个接一个。我只需要最后按下按钮的图像。
答案 0 :(得分:3)
像这样......
int id = -1;
...
if(id != -1) {
UiApplication.getUiApplication().cancelInvokeLater(id);
id = -1;
}
id = UiApplication.getUiApplication().invokeLater(new Runnable()
{
public void run() {
.....
id = -1; //when invokeLater task finished normally
}