可见性转换器上的MvvmCross Android链接问题
我知道Android存在链接问题,我知道如何使用LinkerPleaseInclude。但是,对于我看到的问题,我不确定要将什么内容放入LinkerPleaseInclude.cs文件中 我有一个视图,它使用可见性转换器使用布尔IsBusy属性来确定是否应显示多个控件。我使用的是ProgressBar、TextView和ImageView。我尝试了许多组合来修复链接器问题 当部署为debug时,一切都正常,这只是一个发布问题 例如,我的progressBar定义如下(可见性转换器与其他控件的使用方式相同)可见性转换器上的MvvmCross Android链接问题,android,linker,visibility,mvvmcross,Android,Linker,Visibility,Mvvmcross,我知道Android存在链接问题,我知道如何使用LinkerPleaseInclude。但是,对于我看到的问题,我不确定要将什么内容放入LinkerPleaseInclude.cs文件中 我有一个视图,它使用可见性转换器使用布尔IsBusy属性来确定是否应显示多个控件。我使用的是ProgressBar、TextView和ImageView。我尝试了许多组合来修复链接器问题 当部署为debug时,一切都正常,这只是一个发布问题 例如,我的progressBar定义如下(可见性转换器与其他控件的使用
这些似乎都不起作用。有人能帮我解决这个问题,让我知道我应该做些什么来提高工作的可视性问题是,在构建Android应用程序的发布版本时,有时会发现某些行为不起作用。这是因为它链接程序的方式。我相信它会以某种方式进行优化,从而删除它认为不使用的代码。要在基于MvvmCross的应用程序中修复它,您必须将调用添加到您认为已优化的代码中。这是通过使用LinkerPleaseInclude.cs文件并添加对“缺失”代码的调用来实现的。在这种情况下,ProgressBar控件的可见性不起作用。我曾尝试向LinkerPleaseInclude.cs文件中添加代码,但不起作用。我找到了解决方案并添加了答案 我将以下代码放入LinkerPleaseInclude.cs中。我认为它是有效的,因为它同时使用了setter和getter
public void Include(ProgressBar ProgressBar)
{
progressBar.Visibility = !progressBar.Visibility;
}
实际上,您没有指定所看到的问题。发生了什么事?你的进度条没有显示吗?你的日志里有什么有用的东西吗?奇怪的是,我现在添加了答案似乎已经不见了。我不明白这个问题。。
public void Include(ProgressBar progressBar)
{
progressBar.Visibility = ViewStates.Invisible;
}
public void Include(TextView textView)
{
textView.TextChanged += (sender, args) => textView.Text = "" + textView.Text;
textView.Hint = "" + textView.Hint;
textView.Visibility = ViewStates.Invisible;
}
public void Include(ImageView imageView)
{
imageView.Visibility = ViewStates.Invisible;
imageView.Visibility = ViewStates.Visible;
imageView.Visibility = ViewStates.Gone;
}
public void Include(MyViewModel viewModel)
{
viewModel.PropertyChanged += (sender, args) => { };
}
public void Include(MvxVisibilityValueConverter converter)
{
converter.Convert(null, null, null, null);
}
public void Include(ProgressBar ProgressBar)
{
progressBar.Visibility = !progressBar.Visibility;
}