我想在angular2项目中使用角度材质自动完成组件.我在模板中添加了以下内容.
<md-input-container>
<input mdInput placeholder="Category" [mdAutocomplete]="auto" [formControl]="stateCtrl">
</md-input-container>
<md-autocomplete #auto="mdAutocomplete">
<md-option *ngFor="let state of filteredStates | async" [value]="state">
{{ state }}
</md-option>
</md-autocomplete>
Run Code Online (Sandbox Code Playgroud)
以下是我的组件.
import {Component, OnInit} from "@angular/core";
import {ActivatedRoute, Router} from "@angular/router";
import {FormControl} from "@angular/forms";
@Component({
templateUrl: './edit_item.component.html',
styleUrls: ['./edit_item.component.scss']
})
export class EditItemComponent implements OnInit {
stateCtrl: FormControl;
states = [....some data....];
constructor(private route: ActivatedRoute, private router: Router) {
this.stateCtrl = new FormControl();
this.filteredStates = this.stateCtrl.valueChanges.startWith(null).map(name => this.filterStates(name));
}
ngOnInit(): void {
}
filterStates(val: …Run Code Online (Sandbox Code Playgroud) 在Dracula主题中,当我点击一个符号时,即使IntelliJ IDEA突出显示该符号的用法,亮点也不是那么明显.我需要更改高亮文本颜色和用法的背景颜色,以便使用更加明显.我用Google搜索解决方案但找不到.
以下页面提到这可以在颜色和字体设置页面中完成,但我找不到可以更改该页面中颜色的位置.
https://www.jetbrains.com/idea/webhelp/highlighting-usages.html
请问有人帮我吗?
List<MyObject> myList = new ArrayList<>();
//populate myList here
List<String> nameList = myList.stream()
.map(MyObject::getName)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我可以期望MyObject名称nameList的顺序总是与顺序相同myList吗?
我用angular2材料MdDialog来展示一个表格.
当用户提交表单时,会向后端发送请求,如果请求成功,我需要关闭对话框.如果后端请求失败,我需要保持对话框打开.
我可以使用下面的按钮关闭对话框.
<button md-raised-button md-dialog-close>Cancel</button>
Run Code Online (Sandbox Code Playgroud)
但是,在这种情况下,我只需要在后端请求成功时关闭对话框,所以我需要一种以编程方式关闭对话框的方法.
对话框中显示的组件没有对话框参考,我不知道从组件中自我关闭对话框的任何其他方法.
有没有办法从对话框内的组件中关闭对话框?
我有a.txt以下内容的文件
aaa
bbb
Run Code Online (Sandbox Code Playgroud)
当我执行以下脚本时:
while read line
do
echo $line
done < a.txt > b.txt
Run Code Online (Sandbox Code Playgroud)
生成b.txt包含以下内容
aaa
bbb
Run Code Online (Sandbox Code Playgroud)
可以看出,线条的前导空间已被删除.我怎样才能保留领先的空间?
我想在我的Android应用程序中显示两个位置之间的行车路线.我想在路段之上绘制路线.
堆栈溢出本身有几个答案,所有这些都使用相同的方法.使用Google Directions API获取从起点到目的地的路线,并在返回的点上绘制折线.以下是使用此方法的一些答案.
但是,上述方法的问题是,当道路不直时,黎明死记硬背并不总是在道路上,因为方向API只返回您需要从一条道路转向另一条道路的点(在交叉点处).它没有在同一道路段的弯道中给出点数细节.因此,当我在道路有很多弯道的区域使用上述方法时,几乎总是绘制的路线不在路段之上.
我找到了这个答案,它使用javascript API做我需要做的事情.在这个解决方案中,绘制的路线很好地遵循道路,类似于谷歌地图Android应用程序.有人知道这是否可以在Android应用程序中实现?
谷歌地图Android应用程序可以很好地绘制从一个点到另一个点的路线,保持路线在道路上.有谁知道谷歌地图是如何做到这一点的?它是否使用任何其他未公开的API?
我的项目中使用了某个库.该库有一个接口,有大约15种方法.
此接口的目的是使订阅库中生成的某些事件成为可能.应用程序中的侦听器类可以实现此接口,并将自身注册为库中的侦听器以接收事件.
此接口中的所有方法实际上都是事件.可以有听众只需要从界面中的许多事件中仅接收一个或两个事件.即使监听器只对少数事件感兴趣,监听器也必须在扩展接口时实现所有方法.
所以我要求这个库的开发人员在界面中的方法中添加空的默认实现.
但是库开发人员拒绝添加默认实现,声称它违反了Java最佳实践,并且在接口方法中使用默认实现违背了接口的目的.
但是,据我所知,此接口中的方法未指定此接口的实现者应该具有的某些操作.此接口中的方法确定了实现者可能感兴趣的事件.因此,我看不出没有添加默认实现的明确原因.
那么,在这个界面添加默认实现是否打破了java最佳实践?
在我的Android项目清单中,Android Studio在android:uses-permission元素中给出了检查错误.但是app成功编译.

这次检查的意义是什么?我该如何纠正?
在我的Vaadin项目中,我依赖于某个库.该库使用slf4j进行日志记录.在库pom中,logback slf4j绑定被添加为运行时依赖项.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
<scope>runtime</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我直接使用log4j进行日志记录.我希望库添加的日志进入我的log4j日志.
为此,我在我的pom中添加了以下内容,包括slf4j log4j绑定
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然而,slf4j抱怨它发现了多个绑定.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/program_files/apache-tomcat-8.0.24/temp/0-ROOT/WEB-INF/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/program_files/apache-tomcat-8.0.24/temp/0-ROOT/WEB-INF/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
Run Code Online (Sandbox Code Playgroud)
我检查了我的应用程序的依赖树,它依赖于logback.(以下是对logback的唯一依赖)
[INFO] | +- com.mycompany.mylib:libname:jar:1.1.0-SNAPSHOT:compile
[INFO] | | +- org.slf4j:jcl-over-slf4j:jar:1.7.5:runtime
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.0.13:runtime
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.0.13:runtime
[INFO] | | +- ch.qos.logback:logback-access:jar:1.0.13:runtime
Run Code Online (Sandbox Code Playgroud)
此外,当我WEB-INF\lib在我的war文件中检查内部目录时,我发现了以下jar.
logback-access-1.0.13.jar
logback-classic-1.0.13.jar
logback-core-1.0.13.jar
Run Code Online (Sandbox Code Playgroud)
为什么logback最终出现在我的lib目录中?正如我所听到的,运行时依赖项不应该进入libs目录.
我该如何解决这个问题?该库是在我公司内部开发的,如果需要,我可以要求库开发人员删除logback运行时依赖项.
在我的Android应用程序中,我找到了使用位置的地址Geocoder.getFromLocation().我可以得到一个Address对象并获取地址的地址行Address.getAddressLine().
我只对第一个地址行感兴趣,我可以轻松搞定Address.getAddressLine(0).
此外,应用程序允许用户使用选择位置PlaceAutocomplete.当用户选择一个位置时,我会收到一个Place对象,我可以通过它获取地址Place.getAddress().
问题是,Place.getAddress()返回一个字符串而不是一个Address对象.这个字符串包含完整的地址,所以我不能轻易获得第一个地址行,就像我使用Addressobject一样.
如何从返回的字符串中找到第一个地址行Place.getAddress()?
java ×4
android ×3
angular ×2
bash ×1
dependencies ×1
google-maps ×1
interface ×1
java-8 ×1
java-stream ×1
list ×1
logging ×1
maven ×1
slf4j ×1
typescript ×1