小编Joh*_*phy的帖子

Android数据绑定layout_width和layout_height

我需要能够动态设置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)

java data-binding android mvvm

19
推荐指数
5
解决办法
2万
查看次数

不调试异步等待时Windows Phone 8.1应用程序崩溃

我正在开发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!

c# windows async-await windows-runtime windows-phone-8.1

10
推荐指数
1
解决办法
1642
查看次数

NSIS 检测正在运行的后台进程

我需要能够在我的 NSIS 安装程序执行时查找另一个在后台运行的进程。在新安装程序完成之前,必须终止并卸载其他进程。

我尝试使用 FindProc 插件来查找进程,并使用 KillProc 插件来终止进程。结果,这些插件中的每一个都不返回任何内容。

FindProcDLL::FindProc "MyApplication.exe"

KillProcDLL::KillProc "MyApplication.exe"

我也试过 nsProcess 插件,它也不起作用。

nsProcess::_KillProcess "MyApplication.exe" $R0

似乎人们使用这些插件取得了成功,但我不知道为什么它在我的场景中不起作用,除非它与后台进程有关。

任何帮助,将不胜感激。

nsis process

2
推荐指数
1
解决办法
1416
查看次数