我想创建一个自动建议文本框,它将在每个密钥发布事件中查询数据库.那部分很简单,但我想给它一个很好的视觉效果.类似于我们在Facebook搜索等网站中看到的自动建议文本框.
如何制作这样的界面?
一个天真的想法是将JList放在文本框的正下方,并将其设置为可见,并在其中找到一个结果.
这样做有更好的想法或标准方式吗?
有人可以帮助我将Android Studio中的Kotlin代码转换为Java吗?
我经历了以下过程:
工具>> Kotlin >>将Kotlin反编译为Java
但是"Kotlin to Java"选项被禁用.我该怎么办?
我找到了一个符合我目的的库,但它是用 Kotlin 编写的。我可以在Java项目中使用它吗?
框架: https: //github.com/mpetlyuk/initial_tips
在 Kotlin 上的用法:
// Create view for your tip
val inflater = LayoutInflater.from(Context)
val tipView = DataBindingUtil.inflate<ViewDataBinding>(inflater, R.layout.item_tooltip, null, false).getRoot()
// Create tip
val tip = Tooltip.Builder()
.attachTooltipView(tipView)
.withEnterAnimation(AnimationComposer(FadeInAnimator()).duration(ANIM_DURATION))
.withExitAnimation(AnimationComposer(FadeOutAnimator()).duration(ANIM_DURATION))
.withGravity(TipVerticalGravity.BOTTOM, TipHorizontalGravity.LEFT)
.withAnchorView(/* anchor view */)
.build()
// Create a queue of tips
val tooltipsQueue = LinkedBlockingQueue<Tip>(listOf(tip))
// Create a queue of tips
TipsManager.showTips(binding.root as ViewGroup, ContextCompat.getColor(this, 0 /* your resource color for dimming */)) { tooltipsQueue }
Run Code Online (Sandbox Code Playgroud) 我试图在Kotlin中为我的数据模型添加验证,使用@field批注很容易做到简单的字段。但是,我正在努力对收藏进行同样的处理。
我已经在这里将问题上传到了github
Java模型没有问题,但kotlin版本没有。我在这里添加两个模型。
public class JavaUser {
@NotEmpty
@NotNull
@Pattern(regexp = "[a-z]*", message = "Only lower case first name")
private String name;
private List<
@NotNull
@NotEmpty
@Pattern(regexp = "\\d{10}", message = "Only 10 digits")
String> phones;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getPhones() {
return phones;
}
public void setPhones(List<String> phones) {
this.phones = phones;
}
}
Run Code Online (Sandbox Code Playgroud)
data class KotlinUser(
@field:NotEmpty
@field:NotNull
@field:Pattern(regexp = …Run Code Online (Sandbox Code Playgroud) 我一直在努力将这个Kotlin代码翻译成Java,因为该项目是用Java编写的.我正在通过研究Kotlin语法进行翻译.但是,还有一些人我很难理解.
特别:
private val animationView: LottieAnimationView by lazy {
rootView.inflate(R.layout.app_intro_animation_view, false) as LottieAnimationView
}
private val viewPager: LockableViewPager by lazy {
findViewById<LockableViewPager>(R.id.intro_activity_viewPager)
}
override fun generateFinalButtonBehaviour(): IntroButton.Behaviour {
return object : IntroButton.Behaviour {
override fun setActivity(activity: IntroActivity) { finish() }
override fun getActivity(): IntroActivity? = null
override fun run() {}
}
}
private fun setViewPagerScroller() {
try {
val scrollerField = ViewPager::class.java.getDeclaredField("mScroller")
scrollerField.isAccessible = true
val interpolator = ViewPager::class.java.getDeclaredField("sInterpolator")
interpolator.isAccessible = true
val scroller = object : Scroller(this, interpolator.get(null) …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 Google Play 商店中的应用程序调试几次崩溃,但 Play 商店中显示的堆栈跟踪显示 Java 文件名和行号,而不是直接引用我的 Kotlin 代码。我在 Android Studio 中查看了 Java 代码,但行号不匹配。
为了查看Java代码,我转换成字节码,然后反编译成Java。Android Studio 中还有一个更直接的选项“将 Kotlin 反编译为 Java”,但已禁用;我希望这能让我更好地匹配堆栈跟踪。
如何使用我在 Play 商店的崩溃报告中看到的堆栈跟踪信息来识别我的 Kotlin 源代码中的问题?
我正在实施父母和孩子的应用程序
我正在使用设备管理功能来实现此目的。
启用管理员后,我想禁用孩子应用程序中的卸载按钮
这是我的代码。
MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private PolicyManager policyManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
policyManager = new PolicyManager(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.activate_admin:
if (!policyManager.isAdminActive()) {
Intent activateDeviceAdmin = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
activateDeviceAdmin.putExtra(DevicePolicyManager.ACTION_SET_NEW_PASSWORD,"abcdefgh");
activateDeviceAdmin.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, policyManager.getAdminComponent());
activateDeviceAdmin.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "After activating admin, you will be able to block application uninstallation.");
startActivityForResult(activateDeviceAdmin,
PolicyManager.DPM_ACTIVATION_REQUEST_CODE);
}
break;
case R.id.deactivate_admin:
if (policyManager.isAdminActive())
policyManager.disableAdmin(); …Run Code Online (Sandbox Code Playgroud) 最近,我开始学习Kotlin并发现该main()函数可以不带以下参数来编写:
fun main() {
dayOfWeek()
}
Run Code Online (Sandbox Code Playgroud)
这怎么可能Kotlin?幕后在做什么?
Java不允许我们这样做。
所以我想尝试转换用Java编写的后端API源代码并查看它的外观(IIRC在转换前有预览),但是一旦我这样做,它会自动开始转换所选文件夹中的所有文件,并且最后它要求进行代码更正,我没有回复,因为我想要取消它,现在我遇到了破坏的代码库而没有其他选项:
我要问的是,无论如何在IntelliJ IDEA中将Kotlin转换回Java?先感谢您
我有以下Java代码,希望将其转换为Kotlin:
class RideHistoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
class HistoryItemHolder extends RecyclerView.ViewHolder {
private static final int TYPE_IN_PROGRESS = 1
private static final int TYPE_CANCELLED = 2
private static final int TYPE_FINISHED = 3
// class methods and properties are written
}
}
Run Code Online (Sandbox Code Playgroud)
我想出了以下代码:
class RideHistoryAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
private inner class HistoryItemHolder(view: View)
: RecyclerView.ViewHolder(view) {
private companion object {
private const val TYPE_IN_PROGRESS = 1
private const val TYPE_CANCELLED = 2
private const val TYPE_FINISHED = 3
// class methods …Run Code Online (Sandbox Code Playgroud) kotlin ×8
android ×4
java ×4
autocomplete ×1
autosuggest ×1
decompiler ×1
device-admin ×1
git ×1
google-play ×1
swing ×1
validation ×1