【发布时间】:2016-12-27 07:43:16
【问题描述】:
我的 UI 中有一个连续的产品列表及其各自的值。
Product1 --- 10
Product2 --- 12
. . . . . . . . and so on
。 可以单击每一行并打开一个新的自定义对话框界面,用户可以在其中更改值并设置新值。问题是当我更改值并关闭对话框时,该行中的值不会更新。我必须打开对话框并再次关闭它,然后它才会更新。它总是更新“以前的”值。例如,如果我将 Product1 从 10-12 更改,然后再次打开对话框并将其更改为 13,它会更新为“12”。我在单独的实用程序方法中使用线程。我想将我的线程实现转换为异步任务并在 onPostExecute 的后台使用它。我怎样才能做到这一点?
static void saveMutation(final String productId,
final int mutationAmount,
final boolean isOpeningStock,
final String flightKey,
final FlightLegIdentifier fli,
final String crew, final String tabletId,
final AirFiApplication airFiApplication) {
new Thread(new Runnable() {
@Override
public void run() {
StockMutation mutation = new StockMutation();
mutation.setOpeningStock(isOpeningStock);
mutation.setFlightKey(flightKey);
mutation.setFli(fli);
mutation.setProductId(productId);
mutation.setCrew(crew);
mutation.setMutationId(String.valueOf(UUID.randomUUID()));
mutation.setTabletId(tabletId);
mutation.setMutationAmount(mutationAmount);
StockMutationDao dao = new StockMutationDao(SHARD_DB);
dao.createOrUpdate(mutation);
StockUtils.adjustStock(flightKey, fli, airFiApplication);
StockUtils.setIsStockChanged(true);
}
}).start();
}
【问题讨论】:
标签: android multithreading asynchronous android-asynctask java-threads