Android – 使功能为false /不运行

我有两个按钮上的setOnClickListener ,它们只是在两个函数中运行代码。 我想创建一个安全的电话,所以当我点击按钮的应用程序不会崩溃。 我以为我不得不让他们虚假或什么,但显然这是行不通的。 我应该怎么做? 谢谢 if (weightView.text.isEmpty() && percentageView.text.isEmpty()) { calculation() == false lbsCalculation() == false } else { calculation() lbsCalculation() } 这些是我的两个clickListeners calculateBtn.setOnClickListener{ calculation() } lbsCalculationBtn.setOnClickListener{ lbsCalculation() } 功能: fun calculation () { var weightValue = weightView.text.toString().toInt() var percentageValue = percentageView.text.toString().toInt() var result = (weightValue * percentageValue) / 100.toDouble() var resultFormat = "%.1f […]

类型安全的地图分配和检索

我正在尝试代理呼叫Observables和LiveData(类似于中介模式),但我找不到类型安全的解决方案。 这就是问题: class Proxy { private val backupMap = HashMap<LiveData<Any>, Observer<Any>>() fun <T> add(liveData : LiveData<T>, observer : Observer<T>) { // !This is the issue LiveData<Any> is expected backupMap.put(liveData, observer) } fun attach() { backupMap.forEach { (key, value) -> key.observeForever(value) } } } fun addSome() { Proxy().apply { add(MutableLiveData<String>(), Observer { }) } } 我可以将backupMap.put为backupMap.put(liveData […]

TornadoFX如何将Node样式(或styleClass)绑定到属性?

考虑下面的例子: class MainView : View("Example") { val someBooleanProperty: SimpleBooleanProperty = SimpleBooleanProperty(true) override val root = borderpane { paddingAll = 20.0 center = button("Change bg color") { action { // let's assume that new someBooleanProperty value is updated // from some API after button clicked // so changing style of the borderpane in action block // […]

TornadoFX将域类包装到ItemViewModel

我有一个域类 class UserItem(var simpleItem: Item, var id: String, var status: String, var price: Int) { var upperLimit: Int = 0 var lowerLimit: Int = 0 /* methods here */ } 和一个存储这些对象的类 class Trades { val saleableItems: ArrayList<UserItem> = ArrayList() val soldAwaitingItems: ArrayList<UserItem> = ArrayList() /* methods */ } saleableItems和soldAwaitingItems从Trades内更新 我想使用TableView显示saleableItems这样我就可以绑定数据和视图,而无需将属性转换为TornadoFX属性,因此我将UserItem包装到ItemViewModel class UserItemModel(uItem: UserItem) : ItemViewModel<UserItem>() […]

libGDX无法绘制样条曲线

我有以下Board Group ,我需要绘制一个给定的点曲线 class Board : Group { private var touchPosition: Vector2 = Vector2.Zero private val selectedLetters = mutableListOf<Letter>() private val sr = ShapeRenderer() override fun draw(batch: Batch?, parentAlpha: Float) { super.draw(batch, parentAlpha) if (selectedLetters.size > 0) { val points = selectedLetters.map { Vector2(it.x, it.y) }.toMutableList() points.add(touchPosition) val path = CatmullRomSpline<Vector2>(points.toTypedArray(), true) sr.setAutoShapeType(true) sr.begin() sr.color […]

DBFlow:查询指定列的数据

我刚刚尝试了DBFlow。 我没有得到如果这是可能的查询从一列的数据,并获得列作为列的数据类型。 Select(SomeTable_Table.column).from(SomeTable::class).list 这仍然会返回SomeTable对象的列表,但不会返回SomeTable对象的列表。 有可能在DBFlow查询内查询,或者我必须处理的SomeTable对象的列表,并过滤掉它的列值?

将请求发送到Ktor的另一个URL

我想发送一个HTTP请求到另一个RESTful服务并得到Ktor的响应。 文档和示例中包含有关如何执行此操作的提示。 一些帮助,将不胜感激。

验证EditText值会崩溃应用程序

我有一个EditText(inputValue)接受numberDecimal格式,我需要验证。 验证功能被调用: buttonCalculate.setOnClickListener { pickFunction() } 如果这个EditText留空白,每次点击按钮后立即出现程序崩溃。 如果我填写零表单,然后点击按钮,验证按预期工作。 fun pickFunction() { val s: String = inputValue.getText().toString().trim() val d = inputValue.getText().toString().toDouble() if(s.isNullOrEmpty()) { Toast.makeText(applicationContext, "Blank value entered", Toast.LENGTH_SHORT).show() return } if( d <= 0) { Toast.makeText(applicationContext, "Zero value entered", Toast.LENGTH_SHORT).show() return } // go do something with valid value }

gradle项目同步失败的基本功能将无法正常工作在android studio 3.0

我是新的Android编程我试图安装Android工作室我检查了这个问题,我把JDK(File-Project Structer)的目录改为C:\Program Files\Java\jdk1.8.0_141但是仍然有这个问题我的android studio 3.0预览你可以看到这个图像上的问题 我希望你能帮助我

正则表达式 – 匹配不是字符串的字

我试图区分单词和字符串。 我设法使字符串工作,但我不能完全弄清楚如何匹配不包含双引号的单词: 所以我想这匹配: test 但是这不应该匹配: "test" 这是我迄今为止: [^\"][a-zA-Z]*[^\"] 它仍然得到了测试,虽然它是由双引号包围。 Input: "\"this is a string\" word" Expected Output: word 有什么建议么?