我正在使用工作经理进行定期任务.我要执行单个工作实例
我的代码如下
val workManager = WorkManager.getInstance()
val callDataRequest = PeriodicWorkRequest.Builder(MyLoggerWork::class.java,
15, TimeUnit.MINUTES)
.addTag(worker)
.build()
workManager.enqueueUniquePeriodicWork(worker, ExistingPeriodicWorkPolicy.KEEP, callDataRequest)
Run Code Online (Sandbox Code Playgroud)
我的工作人员记录如下
18/09/2018 03:18:19
18/09/2018 03:18:19
18/09/2018 03:18:19
18/09/2018 03:18:19
18/09/2018 03:37:18
18/09/2018 03:37:18
18/09/2018 03:37:18
18/09/2018 03:37:18
Run Code Online (Sandbox Code Playgroud)
这是我的MyLoggerWork类
public class MyLoggerWork: Worker(){
override fun doWork(): Result {
addlog()
return Worker.Result.SUCCESS
}
private fun addlog() {
try {
val directory = File(Environment.getExternalStorageDirectory().path + "/", "Jobs")
if (!directory.exists()) {
directory.mkdir()
}
val file = File(directory.path, "jobs_.txt")
if (!file.exists() && directory.exists()) {
file.createNewFile()
}
try { …
Run Code Online (Sandbox Code Playgroud) 我有HashMap
数百个键/值对。
现在我必须删除除2 个键/值之外的所有键/值。我用过这种方式:
if(map!=null){
String search = map.get(Constants.search);
String context = map.get(Constants.context);
map = new HashMap<>();
map.put(Constants.search,search);
map.put(Constants.context,context);
}
Run Code Online (Sandbox Code Playgroud)
但是 java 8 引入removeIf()
了这些条件。我怎样才能用removeIf()
方法解决这个问题?
我有一个FrameLayout
带有两个嵌套LinearLayout
s 的。我想要一个onClickListener()
for FrameLayout
。经过一番搜索,我得到了一个解决方案clickable="false"
。
这是我的布局文件:
<FrameLayout
android:id="@+id/flOuter"
android:paddingLeft="@dimen/half_margin"
android:paddingRight="@dimen/half_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:clickable="false"
android:gravity="center"
android:id="@+id/flAddIdProof"
android:background="@drawable/add_background"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:clickable="false"
android:id="@+id/ivIcon"
android:src="@drawable/ic_add_black_48dp"
android:background="@drawable/add_button_border"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:clickable="false"
android:id="@+id/llLinear"
android:alpha="0.5"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:enabled="false"
android:clickable="false"
android:drawablePadding="@dimen/half_margin"
android:drawableLeft="@drawable/ic_devices_black_24dp"
android:hint="Identity Proof"
android:inputType="none"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:enabled="false"
android:clickable="false"
android:drawableLeft="@drawable/ic_border_color_black_24dp"
android:hint="Identity Number"
android:drawablePadding="@dimen/half_margin"
android:inputType="none"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的点击监听器:
flOuter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(DeviceInMeeting.this, "detect", Toast.LENGTH_SHORT).show();
} …
Run Code Online (Sandbox Code Playgroud)