我需要能够动态设置EditText的height属性.我在我的应用程序中使用数据绑定其他属性,所以我希望能够使用数据绑定来控制我的元素的高度.这是我的xml的精简版:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable name="loginVM" type="com.testing.stuff.ViewModels.LoginViewModel" />
</data>
<EditText android:inputType="number"
android:id="@+id/txtVerificationCode"
android:layout_height="@{loginVM.compact ? @dimen/verificationHeightCompact : @dimen/verificationHeightFull}"
android:layout_width="match_parent"
android:paddingRight="16dp"
android:paddingLeft="16dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_marginLeft="10dp"
android:alpha="@{loginVM.verificationOpacity}"
android:layout_marginStart="10dp"
android:textAlignment="center"
android:visibility="visible"
android:hint="Enter verificationCode"
android:text="@{loginVM.verificationCode}" />
</layout>
Run Code Online (Sandbox Code Playgroud)
这是我的View模型的精简版:
public class LoginViewModel extends BaseObservable {
public final ObservableField<String> verificationCode;
public final ObservableField<Boolean> compact;
@Bindable
public String getVerificationCode() {
if (this.verificationCode == null) {
return "";
} else {
return this.verificationCode.get();
}
}
public void setVerificationCode(String verificationCode) {
this.verificationCode.set(verificationCode);
invalidateProperties();
}
@Bindable
public …Run Code Online (Sandbox Code Playgroud) 我正在开发Windows Phone 8.1应用程序.我大约一个月的时间进入这个项目,到目前为止我所写的内容几乎没有问题.
我决定对应用程序进行一些测试,而不通过VS 2013调试器运行它.现在,出于某种原因,应用程序在进入第一个屏幕之前崩溃了.我没有得到任何例外或消息(我使用Raygun进行错误记录).
我一直在使用异步方法(一些async void,其他异步Task),但所有这些在调试时都有效.
最有帮助的是得到某种错误信息.我已经减少了评论部分代码,但最终这让我无处可去,因为当我认为我发现了问题时,我又进一步陷入代码崩溃.
有一次,我发现调用的问题是:ListView.UpdateLayout().我评论了这个,应用程序将正常运行没有崩溃.然后,我进一步向下评论了一些代码,现在又崩溃了.
如果有人知道从手机获取例外的方法,或者如果有人之前遇到过这个问题,那么任何帮助将不胜感激.我可以提供所需的任何进一步信息.
更新: 我认为我已将问题缩小到Sqlite.NET.我使用Sqlite.Net for WinRT以及一个名为SqliteNetExtensions的扩展.特别声明是
DataContext.Context.Connection.Table<Message>().Where(m => m.ChannelID == channelID && m.ChannelID.Contains("C")).ToList();
Run Code Online (Sandbox Code Playgroud)
如果我发表评论,该应用程序运行没有问题.此LINQ语句最多返回100条记录.我不认为100条记录的SELECT语句会导致应用程序崩溃,但它似乎是罪魁祸首.关于如何优化Sqlite.NET的任何想法?
更新2: 终于明白了!根本不是SQLite.这根本不是我的代码.这是我的手机.我正在运行诺基亚Lumia Icon.几个星期前我安装了Rudy Huyn的Lockscreen Beta.当我卸载它时它引起了一些问题,但它与我的应用程序无关.今天,我有我的商业伙伴在他的手机上安装我的应用程序,他有相同的型号手机.该应用程序快了大约50倍,并没有崩溃.我从工厂恢复了手机,看,它运行得很好.所以,专业提示:不要安装由RUDY HUYN安装LOCKSCREEN BETA!
我需要能够在我的 NSIS 安装程序执行时查找另一个在后台运行的进程。在新安装程序完成之前,必须终止并卸载其他进程。
我尝试使用 FindProc 插件来查找进程,并使用 KillProc 插件来终止进程。结果,这些插件中的每一个都不返回任何内容。
FindProcDLL::FindProc "MyApplication.exe"
KillProcDLL::KillProc "MyApplication.exe"
我也试过 nsProcess 插件,它也不起作用。
nsProcess::_KillProcess "MyApplication.exe" $R0
似乎人们使用这些插件取得了成功,但我不知道为什么它在我的场景中不起作用,除非它与后台进程有关。
任何帮助,将不胜感激。