当使用设计支持库中的TextInputLayout时,是否可以在提示中只显示星号?我已经看到了关于样式整个提示的信息,但这有点复杂,因为只有*应该是红色,而不是整个消息.
Material Design示例显示了这一点,但设计库似乎没有任何选项可以使用TextInputLayout和EditText以这种方式设置样式.
参考:https: //www.google.com/design/spec/components/text-fields.html#text-fields-required-fields
示例(顶部,有焦点,有红色星号;没有焦点的底部没有红色星号):
我查看将提示设置为一个SpannableString(请参阅此处如何在<string>条目中获取红色星号)在OnFocusChangeListener中(请参阅此处具有编辑文本的强制符号(红色星号),该符号位于textinputlayout内) ,但提示是CharSequence.
有没有办法在不扩展TextInputLayout的情况下执行此操作?
android android-edittext material-design android-textinputlayout
我一直回到这个问题,因为似乎没有一个干净的解决方案.有没有人有一个很好的策略来从Android中的子项目中排除资源?
我有两种情况:
1 - 基础库项目具有en,es等的本地化文件.
--Child project 1使用所有本地化,一切都很好
--Child项目2仅本地化为英语,但最终的.apk将由于父资源而具有部分本地化(尽管ADT19左右添加了Lint规则来警告/阻止您这样做).
我现在唯一的解决方案就是为本地化创建一个单独的父库,并且只将它包含在子项目1中.如果你有很多库项目,这将是一个巨大的痛苦.
2 - 排除特定于构建的资源.我有一些图像仅供我的应用程序的Nook特定版本所需,这些图像由标志触发.条件代码工作得很好,但始终包含资源.
我不想为我的每个应用程序创建另一个子项目.有没有办法设置构建/编译标志来修剪特定的图像资源,这样他们就不会进入最终的.apk?
第二个问题可能是我特有的,但我很惊讶我找不到关于第一点的任何好的讨论.没有其他开发人员只对某些应用进行本地化吗?或者大多数人都忽略了这个问题?
我对某些数据收到以下错误,概念足够清晰:
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
但是,这并没有帮助我找到哪个特定记录具有无效的FK.有没有办法打开我的代码并尝试用新事务隔离每个插入,有没有办法打开(或提取)日志记录,使用有用的详细信息,例如有问题的表,甚至导致问题的FK值?
此外,我正在使用SqlBrite,并已启用调试日志记录(只记录操作,我仍然没有获得有关错误的更多信息)
更新: 这是我自己的代码上面的所有logcat; 本质上是在尝试关闭先前打开的事务(BriteDatabase.Transaction)时捕获的异常(BriteDatabase.Transaction对象是一个新的添加;我只是从SqlBrite 0.1.0迁移到0.4.1).
android.database.sqlite.SQLiteConstraintException: FOREIGN KEY constraint failed (code 787)
at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:555)
at android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession.java:437)
at android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession.java:401)
at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:522)
at com.squareup.sqlbrite.BriteDatabase$1.end(BriteDatabase.java:85)
Run Code Online (Sandbox Code Playgroud)