想问问现在用 kotlin 写 android 的多吗

2018-09-26 14:22:05 +08:00
 whitepoppy

class InTheVehicleFragment : FragmentCompat() { private val presenter = InTheVehiclePresenter(this)

companion object {
    fun newInstance(): InTheVehicleFragment {
        return InTheVehicleFragment()
    }
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    return inflater.inflate(R.layout.fragment_in_the_vehicle, container, false)
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    presenter.setup()
    initView()
    initListener()
}

private fun initView() {
    //setInCarNum(25)
}

private fun initListener() {
    container_add_car_plate_num.setOnClickListener { presenter.gotoAddCarPlate() }
    container_car_open_order.setOnClickListener { presenter.gotoSerOrder("") }
}

fun httpError() {
    rcv_today_cars.visibility = View.GONE
    container_loading.visibility = View.GONE
    container_fail.visibility = View.VISIBLE
    container_fail.setOnClickListener({
        presenter.fetchHistoryCars()
    })
}

fun httpSuccess() {
    rcv_today_cars.visibility = View.VISIBLE
    container_fail.visibility = View.GONE
    container_loading.visibility = View.GONE
}

fun setTodayRv(mAdapter: InTheVehicleAdapter) {
    rcv_today_cars.setupVertical()
    rcv_today_cars.adapter = mAdapter
}

fun nodify() {
    rcv_today_cars.post {
        rcv_today_cars.adapter.notifyDataSetChanged()
    }
}

}

写的我好难受啊

10715 次点击
所在节点    Android
91 条回复
lwbjing
2018-09-26 14:30:49 +08:00
他们都跟我说未来会多。。
luopengfei14
2018-09-26 14:38:24 +08:00
楼主思想上被草多了,就习惯了
firefffffffffly
2018-09-26 14:53:02 +08:00
感觉写得还可以啊,习惯两天就真香了,不过我们屏蔽了不经过 findViewById 直接操作 view 的写法

还有个代码精简点
fun newInstance() = InTheVehicleFragment()
loshine1992
2018-09-26 14:54:49 +08:00
kotlin 还没 release 的时候就在用了,真香。
hjw45611
2018-09-26 15:16:06 +08:00
私人项目在用,公司项目不让用。
M0
2018-09-26 15:17:49 +08:00
滚回 java 了。
youxiachai
2018-09-26 15:20:45 +08:00
....你都用 kotlin 插件了..为啥...id 命还要按照下弧线那套..直接用驼峰啊...
GoodRainChen
2018-09-26 16:34:48 +08:00
之前公司用过一段时间,然后慢慢又用回 java 了...没有任何原因,就大家不约而同
没发现有什么本质上的优势,写代码最花时间的还是思考,而不是打字
closedevice
2018-09-26 17:03:11 +08:00
不推荐花时间在 Kotlin 上,本质没有变化.
shawndut
2018-09-26 17:13:53 +08:00
还好吧,用起来可以缩减代码量,语法糖有些多
66450146
2018-09-26 17:33:52 +08:00
我们不写 Kotlin 已经招不到人了,孤狗肯定不愿意在 Java 上吊死
Maiiiiii
2018-09-26 17:52:17 +08:00
写多一点就适应了,感觉比 java 方便
KNOX
2018-09-26 18:23:49 +08:00
@GoodRainChen 是不是你们用 java 的思维去写?我是觉得 kotlin 需要深入理解才能写好。
whitepoppy
2018-09-26 18:27:26 +08:00
@loshine1992 老哥啊 我是真不想写 我来的时候那个 sb 就已经用 kotlin 了
qiyuey
2018-09-26 18:29:41 +08:00
服务端开发,全 Kotlin
icris
2018-09-26 18:29:52 +08:00
@GoodRainChen #8
那么用 Java 对思考有什么样的好处,使用 kotlin 对思考有什么样的坏处呢?
如果没有,简单的算数,kotlin 还是快
whitepoppy
2018-09-26 18:31:29 +08:00
@GoodRainChen 我同意 浪费时间 没以前写的顺手了 写起来太别扭了
loshine1992
2018-09-26 18:33:42 +08:00
@whitepoppy #14

骂别人 sb 的时候想想自己为什么不拥抱变化,为什么不愿意学习。

拿着工资还可以学东西是多好的事情啊

而且会 Java 的人学 Kotlin 真的成本超低,2~3 天就可以上手,1 周看完一些特性就可以无缝使用了
icris
2018-09-26 18:35:32 +08:00
推荐几行代码
inline fun View.gone() { visibility = View.GONE }
inline fun View.visible() { visibility = View.VISIBLE }
inline fun View.invisible() { visibility = View.INVISIBLE }
inline fun View.visibleOrGone(visible: Boolean) { if (visible) visible() else gone() }
inline fun View.visibleOrInvisible(visible: Boolean) { if (visible) visible() else invisible() }

就可以 rcv_today_cars.gone()
这样再用回 Java 写 setVisibility 的时候就会难受了。
whitepoppy
2018-09-26 18:39:22 +08:00
@loshine1992 这话你怎么不和金融行业的说呢 公司项目要的是稳定 自己另说 不写也可以 但他封装的东西 比起 java 还难写 还不让改

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492765

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX