Articles of C#

如何为`MvxLinearLayout`绑定到’ItemClick`?

我有一个ScrollView ,最初包含两个MvxListView控件。 Android不支持在ScrollView中使用ListView控件,这是有道理的,因为它们都试图填充父高度并提供自己的滚动逻辑。 我想要的是两个不可滚动的列表,它们在我的ScrollView的全高。 MvxListView扩展的ListView不支持此操作而不会手动破解高度。 我想要这个的原因是因为我有两个单独的列表,我必须将它们分开来源,它们都有自己的标题。 我需要在一个ScrollView可以滚动所有这些。 然后我find了MvxLinearLayout ,它是一个可绑定的LinearLayout ,它有一个我可以绑定的ItemSource属性。 它工作得很好,它显示我的项目并获得所有项目的全部高度,因此我可以滚动我的ScrollView两个列表。 问题是它似乎没有ItemClick属性,所以我没有办法从我的列表中获取用户输入。 有没有人知道以可绑定的方式做到这一点的干净方式? 我不想在后面的代码中附加onItemClick处理程序。 还有另一个MvvmCross控件可以做我想要的吗?

如何在xamarin.forms pcl项目中配置地图?

我用xamarin.form PCL创建了一个项目。 我已经添加了 ….. xamarin.forms.maps以及其他库和NuGet Package根据所有平台(Android,iOS,Window Phone)的要求添加。 我在所有平台上都给出了所有权限和配置。 我已成功在窗口电话中显示地图和运行程序,但我在android中有错误。 错误是 严重级代码描述项目文件行列错误java.lang.OutOfMemoryError。 考虑增加$(JavaMaximumHeapSize)的值。 执行’java.exe -jar C:\ Program Files(x86)\ Android \ android-sdk \ build-tools \ 23.0.2 \ lib \ dx.jar“ – no-strict – 时,Java内存不足dex –output = obj \ Debug \ android \ bin \ tobj \ Debug \ android \ bin \ classes“C:\ Program Files(x86)\ Reference Assemblies […]

GCM响应来了:错误=未注册

这是我为GCM创建的示例服务器。 class Program2 { public static string SenderId = “318115091714”; public static string RegistrationID = “APA91bF9hn6VeessobraNuauBcrFdlJ9eH1eVb44FAQ2oawerBeFWS48IEIFTPo8fdvWm93hwFY0tKszpPuSObPbTqgW-za1RLhCw-GDCn4JQZLQ-CmGwnnr6F5X8gYhNa2DNvFhCEM7HNgvdxtcnBqVX0dVnEynXQ”; public static string ApiKey = “AIzaSyAl2HdB4bbukkcmJwoxUmhof15IAiuJ16U”; public static string Message = “Testing GCM Server”; public static string ApplicationId = “com.google.android.gcm.demo.app”; /// /// Main method /// public static void Main(string[] args) { try { Program2 objProgram2 = new Program2(); Console.WriteLine(“\nPlease […]

BroadcastReceiver不接收广播

我的BroadcastReceiver没有收到任何东西。 很可能是我的设置错了,因为我无法在此find任何好的例子。 我需要我的接收器在我的MainActivity中接收一些东西,并更改一个视图。 我在Android项目中有几乎相同的代码,并且它在这里工作,但是在Xamarin中,BroadcastReceivers似乎实现了一点点不同(在Android中,我可以使新的BroadcastReceiver几乎像一个对象,但在Xamarin或C#中,似乎我必须创建自己的类,因此没有相同的可能性来直接引用视图)。 如果我让这个工作,我也会为每个人发布一个完整的工作示例。 以下是我尝试设置的方法: [Activity(Label = “GetLocation.Droid”, MainLauncher = true, Icon = “@drawable/icon”)] public class MainActivity : Activity { Button button; protected override void OnCreate(Bundle bundle) { // … various OnCreate() code LocationBroadcastReciever lbr = new LocationBroadcastReciever(); RegisterReceiver(lbr, new IntentFilter(“test”)); } public void SetButtonText(string text) { button.Text = text; } } [BroadcastReceiver] public […]

降级Xamarin.Android

我已经安装了Xamarin(Xamarin工作室,Xamarin.Android)但是构建即使是最简单的项目也存在一些问题(只需创建新项目 – >构建 – >获取错误)。 经过一些谷歌搜索后,我发现我并不是唯一遇到此类问题的人。 我find的唯一解决方案是恢复到早期版本的Xamarin.Android。 但是我该怎么做? 有人可以帮帮忙吗? Xamarin.Android的当前版本是4.8.0 要回滚到的版本是4.6.6

适用于Android的Mono中的OnGlobalLayoutListener

有人可以用C#解释我这个Java代码,因为我使用Mono for Android吗? 例如,我在Mono for Android中找不到OnGlobalLayoutListener。 在Android上它看起来像这样: vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int newWidth, newHeight, oldHeight, oldWidth; //the new width will fit the screen newWidth = metrics.widthPixels; //so we can scale proportionally oldHeight = iv.getDrawable().getIntrinsicHeight(); oldWidth = iv.getDrawable().getIntrinsicWidth(); newHeight = Math.floor((oldHeight * newWidth) / oldWidth); iv.setLayoutParams(new LinearLayout.LayoutParams(newWidth, newHeight)); iv.setScaleType(ImageView.ScaleType.CENTER_CROP); //so this only […]

Xamarin.Formspopup“新版本可用”

我正在研究Xamarin.forms Android Project,我正在搜索为用户显示popup窗口: 新版本可用 当用户尝试打开应用程序并在Play商店中提供新的更新时。

Xamarin工作室“错误XA5209:解压缩失败。 请下载“

我通过选择默认主题Appcompat.Light创建了一个新项目,然后当我运行应用程序时,我收到此错误: “Error XA5209: Unzipping failed. Please download dl-ssl.google.com/android/… and extract it to the /Users/username/.local/share/Xamarin/Xamarin.Android.Support.Vector.Drawable/23.3.0.0/content directory. (XA5209).” 除了创建一个新项目之外,我还没有做任何其他事情,为什么我会收到此错误?

使用HttpURLConnection发送MultipartEntity

使用下面的代码,我能够发送一个大文件到服务器,但我似乎无法找出如何发送文件的文本。(发送文件加上额外的数据(用户名,密码..)例如)。 并在服务器端接收它。 FileInputStream fileInputStream = new FileInputStream(new File( pathToOurFile)); URL url = new URL(urlServer); connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); connection.setChunkedStreamingMode(1024); // Enable POST method connection.setRequestMethod(“POST”); connection.setRequestProperty(“Connection”, “Keep-Alive”); connection.setRequestProperty(“Content-Type”, “multipart/form-data;boundary=” + boundary); outputStream = new DataOutputStream(connection.getOutputStream()); outputStream.writeBytes(twoHyphens + boundary + lineEnd); String connstr = null; connstr = “Content-Disposition: form-data; name=\”uploadedVideos\”;filename=\”” + pathToOurFile + “\”” […]

枚举VS静态类(正常和带字符串值)

我一直在为windows mobile和android开发。 我对这两个概念感到困惑。 假设我想根据用户的设备屏幕大小做出决定。 所以我期待这么预定义的值。 我可以使用switch语句来处理我的逻辑。 但我不确定是否应该为此目的使用静态类的枚举。 哪一个是更好的方法。 我可以用这两种不同的方式来做我的逻辑。 哪一个是正确的方法? 我很困惑。 我也可以使用String值吗? 因为目前我正在坚持使用类,所以我需要更新以使用所有枚举。 那么如何将我的类更改为String Enum? 无论如何。 谢谢。 使用Enum //My predefined values public enum ScreenSizeEnum { Small, Medium, Large, XLarge, } //Handling Logic private void SetScreenSize(ScreenSizeEnum Screen) { switch (Screen) { case ScreenSizeEnum.Large: //Do Logic break; case ScreenSizeEnum.Small: //Do Logic break; } } 使用类 //My predefined […]