我有一个timeInMillis
价值,我知道我可以得到Date
类似的东西;
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateString = formatter.format(new Date(dateInMillis)));
Run Code Online (Sandbox Code Playgroud)
我正在使用DataBinding
填充RecyclerView
.我也知道我可以在使用DataBinding
这样的东西时操纵字符串;
android:text='@{String.format("%.1f", example.double)}'
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何TextView
使用Date
我的timeInMillis
值格式化填充.
我需要在app中创建字段编辑页面.有编辑联系人的EditText列表.对于每种字段类型,我都有一个布局.例如 - 对于名称和姓氏,它是浮动标记的编辑文本.对于Facebook - 简单的编辑文本与图标.我正在使用Android数据绑定库创建此列表
我已经创建了布局
<data>
<variable
name="item"
type="app.core.db.model.Field" />
</data>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="65dp"
app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
app:theme="@style/EditFieldFloatLabeled">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:hint="@{item.getHint()}"
android:imeOptions="actionNext"
android:maxLines="1" />
</android.support.design.widget.TextInputLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
但浮动标签不起作用.我开始逐行评论以找出原因.当我评论线时,浮动标签变得有效
android:hint="@{item.getHint()}
Run Code Online (Sandbox Code Playgroud)
(并用硬编码文本替换它).根据字段类型getHint()
返回R.string.{something}
.
在那里我发现了比以编程方式设置提示产生浮动标签消失.我不能使用静态布局(而不是回收者视图),因为字段列表可能会出现dynsmically(例如:我在字段中写入电话号码,而在其后为其他电话号码插入空电话字段).
有没有办法以相同的方式创建浮动标签(通过使用字段类型定义提示)?
data-binding android android-textinputlayout android-databinding
我在Nexus 7和三星Galaxy S4上测试我的应用程序,我将测试Galaxy S2上的行为.我从Play商店安装了AVG AntiVirus(免费版) - 平板电脑版(Nexus 7)和S4上的移动版.
在我的S4 AVG告诉我,我的应用程序被检测为恶意软件 - 但在平板电脑上它被检测为'安全'.经过一番研究,我发现这个XML Parser触发了AV Alert SO线程.我使用AsyncTask通过蓝牙连接到设备 - 只要它正在搜索新设备,就会显示Snackbar.我使用BLUETOOTH和BLUETOOTH_ADMIN的权限.
为了使用AVG mobile验证并测试此问题,我从Android Studio中的示例下载了BluetoothChat并将其安装在我的S4上 - 结果相同,它被检测为恶意软件.所以它似乎是AVG mobile AntiVirus的一个问题,还是因为我是从Android工作室安装的?当我点击"信息"时,它会在浏览器上打开一个avgthreatlabs.com网站,它告诉我"com.example.android.bluetoothchat"包中有活动的广告软件,我的应用程序也是这样.我没有使用广告.
有人知道解决方法,或出了什么问题?我不希望我的应用用户对此问题感到困惑.
我还没有在AVG网站上找到合适的沟通或反馈链接.我应该联系技术支持吗?
编辑:我在AVG网站上找到了"报告错误检测",我现在正在报告蓝牙聊天示例.:)
对不起我的写作错误,或者如果问题不适合stackoverflow.
我正在将Conductor API与Android DataBinding一起使用,并且一直在尝试从控制器视图到另一个控制器视图进行简单的共享元素转换,但它无法正常工作.
点击demoS列表中的"Android数据绑定"演示将带您进入一个屏幕,点击显示的textView应该将其转换到下一个屏幕.
但是现在它已经消失了.
更新:我认为在BindedBaseController类中有些不对劲?
public abstract class BindedBaseController extends Controller {
private ViewDataBinding mViewDataBinding;
protected BindedBaseController() {
}
protected BindedBaseController(Bundle args) {
super(args);
}
protected abstract View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container);
@NonNull
@Override
protected View onCreateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) {
View view = inflateView(inflater, container);
mViewDataBinding = DataBindingUtil.bind(view);
onViewBound(view);
return view;
}
protected void onViewBound(@NonNull View view) {
}
@Override
protected void …
Run Code Online (Sandbox Code Playgroud) android shared-element-transition android-databinding conductor
我使用 Firebase,因为它似乎是 Android 上最简单的数据库解决方案。我只是在玩弄它以获得一点感觉。现在最让我困惑的是如何(如果可能的话)如何以某种形式的表格(例如 Excel 中的表格)表示数据库。我知道 Firebase 以 JSON 格式导出,但它并不是专门设计来这样显示的,但肯定有一些系统能够做到这一点?或者我是否必须编写自己的程序来生成 CSV 文件?
举个例子,我创建了一个应用程序来记录出租车类型服务的行程信息。它记录了票价名称、目的地和行程费用。这是 JSON 的示例。
{
"Jobs" : {
"job0" : {
"Cost" : "$30",
"Destination" : "Demo Dest 1",
"Name" : "Demo Name 1"
},
"job1" : {
"Cost" : "$40",
"Destination" : "Demo Dest 2",
"Name" : "Demo Name 2"
}
},
"job number" : 2
}
Run Code Online (Sandbox Code Playgroud)
现在假设我想生成一份仅包含工作信息的电子表格。它将具有“名称”、“目的地”和“成本”的列标题,并且会列出每个标题中的相应信息。
这样的事情可能发生还是只是一厢情愿?如果没有,是否有您推荐的适用于 Android 的基于在线表格的数据库工具,该工具也很简单?
预先感谢,我真的很感激。
是否可以在库项目中使用 Android DataBinding?我确实创建了一个供其他人使用的库。在这个库中,我确实使用了 Android DataBinding。它确实在作为模块的同一个 Android Studio 项目上工作,但是当我将它安装到我的本地 maven 存储库时,它不会编译,因为找不到生成的文件。当我检查 aar 文件时,我也找不到生成的数据绑定文件夹。
将产生以下错误:
error: cannot access HeaderToolBarBinding
class file for com.test.library.shared.databinding.HeaderToolBarBinding not found
Consult the following stack trace for details.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for
com.test.library.shared.databinding.HeaderToolBarBinding not found
1 error
Run Code Online (Sandbox Code Playgroud)
有没有人我们如何解决这个问题?
所以,
- Shared project
---> App (include library by compile project(":shared")
---> Shared library (with DataBinding enabled)
- Project other people
---> App (include library by Gradle dependecies)
Run Code Online (Sandbox Code Playgroud) android shared-libraries android-gradle-plugin android-databinding
我只是学习如何在Android上使用数据绑定.我想问为什么BindingAdapter必须设置为静态方法?如果我可以使它成为非静态方法.我该怎么办?我需要将我的图像加载到我自己的ImageLoader对象中.
java data-binding android static-methods android-databinding
我正在尝试使用DataBinding库在我的应用程序中实现MVVM。对于已经完成的简单任务,我可以找到出路,但是问题是我不能在完成某些操作后完成活动。
问题:
收到特定的广播后,我必须关闭ViewModel类的活动。由于VM类没有View的引用,我该如何完成活动?确切地说,我有启动屏幕和相应的VM类,用于启动IntentService来下载数据。数据下载后,我必须完成启动屏幕并启动MainActivity。我已经找到了从VM启动新的Activity的方法,但是要完成上一个是个谜。
你能帮我么?谢谢!
data-binding android mvvm android-activity android-databinding
当我尝试构建项目时出现两个警告:
警告:使用不兼容的插件进行注释处理:android-apt.这可能会导致意外行为.
并且在所有绑定错误结束时:
警告:任何处理器都无法识别以下选项:'[android.databinding.artifactType,android.databinding.printEncodedErrors,android.databinding.minApi,android.databinding.isTestVariant,android.databinding.enableDebugLogs,android.databinding.sdkDir, android.databinding.bindingBuildFolder,android.databinding.enableForTests,android.databinding.modulePackage,android.databinding.generationalFileOutDir,android.databinding.xmlOutDir]'
我试图启用注释处理器并删除所有apt引用并更改此:
apt'com.jakewharton:butterknife-compiler:8.2.1'
对此:
annotationProcessor'com.jakewharton:butterknife-compiler:8.2.1'
但它不起作用.
android apt annotations android-databinding android-studio-2.3
对不起我的英语不好。我需要使用 Android 数据绑定处理按钮单击。我包含在 content_main.xml 数据绑定中。
<data>
<variable
name="temp"
type="skubyev.anton.navigationdrawer.DataBindingClass.MainActivityData" />
<variable
name="presenter"
type="skubyev.anton.navigationdrawer.DataBindingClass.MainActivityPresenter"/>
</data>
....
<android.support.design.widget.FloatingActionButton
android:onClick="@{() -> presenter.onShowData(temp)}"
Run Code Online (Sandbox Code Playgroud)
但是 MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ContentMainBinding binding = DataBindingUtil.setContentView(this, R.layout.content_main);
MainActivityPresenter mainActivityPresenter = new MainActivityPresenter(this);
MainActivityData mainActivityData = new MainActivityData("??? ?????");
binding.setTemp(mainActivityData);
binding.setPresenter(mainActivityPresenter);
setContentView(R.layout.activity_main);
....
@Override
public void showData(MainActivityData mainActivityData) {
String textForRecognition = mainActivityData.getTextForRecognition();
Toast.makeText(this, textForRecognition, Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
我希望函数showData运行,然后单击 content_main 中的 FloatingActionButton。但是 showData - MainActivity 类中的函数。因此,据我所知,当您单击位于content_main.xml上的按钮时,它不会被调用。我该怎么办?创建一个单独的类 ContentActivity.java 和函数 showData。
我只想让 MainActivity.java 负责处理对 …
java data-binding android navigation-drawer android-databinding
android ×9
data-binding ×5
java ×2
annotations ×1
antivirus ×1
apt ×1
bluetooth ×1
conductor ×1
excel ×1
firebase ×1
formatting ×1
json ×1
mvvm ×1