Я разрабатываю приложение для Android с помощью MVVMCross. Я использую тег progressbar на AXML и останавливаю анимацию всякий раз, когда у приложения есть фоновая активность. Я думаю, это потому, что я неправильно использую синхронные задачи, но я не нахожу способ ее решить.Индикатор активности в Android-приложении с использованием mvvmcross
Тег ProgressBar, который я использую:
<LinearLayout
android:orientation="vertical"
android:background="#88000000"
android:layout_alignParentTop="true"
local:MvxBind="Visibility Visibility(IsLoading)"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/progressBar1"
android:layout_marginTop="@dimen/element_margin_large"
android:layout_marginBottom="@dimen/element_margin_large" />
</LinearLayout>
Я попытался изменить IsLoading
к true
, чтобы держать его видимым все время, и анимация останавливается каждый раз, когда приложение делает любой обратный процесс.
EDIT: код, который я попробовал на ViewModel что-то вроде этого:
private MvxCommand _xxxCommand;
public ICommand XxxCommand
{
get
{
_xxxCommand = _xxxCommand ?? new MvxCommand(XxxCmd);
return _xxxCommand;
}
}
public async void XxxCmd()
{
IsLoading = true;
await Task.Run(() =>
{
ShowViewModel<XxxViewModel>();
});
IsLoading = false;
}
Но он продолжает замерзать пока ShowViewModel
выполняется. В следующем представлении у меня есть некоторые привязки и звонки на внешний API
, но все они: async
и awaited
Благодарим за внимание.
Debbuging приложение Я обнаружил, что i, когда программа выполняет «ShowViewModel <...>(); когда анимация прекращается. Я попытался инкапсулировать его с помощью «wait Task.Run (() => {(...)};», но все еще зависает. – JCQuiroga
Что вы делаете в Init или Start или Constructor ViewModel, который вы показываете? – Cheesebaron
В конструкторе , Я инициализирую два интерфейса двух служб, и я вызываю 2 метода async. – JCQuiroga