【问题标题】:Converting Thread to an Async task in Android在 Android 中将线程转换为异步任务
【发布时间】: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


    【解决方案1】:

    问题是 UI 只能在 UI(主)线程上更新。您可以使用 Handler 或 runOnUIThread() 从非 UI 线程更新 UI 线程。 你可以在 google 上找到很多资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-06
      • 2016-10-05
      • 2013-08-31
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 2011-12-10
      相关资源
      最近更新 更多