Tag: android

Kotlin的视图绑定扩展在65k方法限制之后停止工作

达到65k方法限制后,Kotlin的视图绑定扩展停止工作,并在引用视图时抛出NullPointerException。 我试图安装MultiDex,但没有解决问题。 我正在使用Android API 25,不使用ProGuard并编译调试风格。 我能做什么? 这是一个错误的例子 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.jj.pos, PID: 5906 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jj.pos/com.jj.pos.features.authentication.LoginActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSequence)’ on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) […]

Kotlin抽象通用视图持有者的一类types的争论

我试图创建一个RecyclerView.Adapter与以下内容: 查看持有人 – 提供了抽象的父母和一个儿子 abstract class BaseSettingsViewHolder(var viewDataBinding : ViewDataBinding) : RecyclerView.ViewHolder(viewDataBinding.root) { abstract fun onBind(data: T, presenter: ISettingsPresenter, position: Int) } class SettingsTitleViewHolder(viewDataBinding: ViewDataBinding) : BaseSettingsViewHolder(viewDataBinding) { override fun onBind(data: TitleData, presenter: ISettingsPresenter, position: Int) { viewDataBinding.setVariable(BR.titleData, data) viewDataBinding.setVariable(BR.itemPosition, position) viewDataBinding.setVariable(BR.settingsPresenter, presenter) viewDataBinding.executePendingBindings() } } 当试图声明适配器时: class SettingsAdapter(var context: Context, var presenter: ISettingsPresenter) : […]

如何在Android Studio中使用Kotlin在RecyclerView上添加Onclick监听器?

所以我想在Android中使用我的RecyclerView的onclicklistener ,但我不知道该怎么做。 我有一个CustomAdapterClass用于我的Workoutlist ,如下所示: class CustomAdapter(val workoutList: ArrayList) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomAdapter.ViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.list_layout, parent, false) return ViewHolder(v) } override fun onBindViewHolder(holder: CustomAdapter.ViewHolder, position: Int) { holder.bindItems(workoutList[position]) } override fun getItemCount(): Int { return workoutList.size } class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindItems(workout: workout) { […]

如何在Kotlin(Android)的日期选择器对话框中仅显示日期和月份?

我有一个日期选择器对话框。 我只想显示日月。 年份选取器对话框必须隐藏。 我已经尝试了这样的其他答案。 没有什么对我有用。 它也应该支持Kitkat到牛轧糖设备。 我的日期选择器代码如下。 fun setDatePickerDialog() { mDobDialog = DatePickerDialog(this@SignUpActivity, R.style.VDDatePickerDialogTheme, DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth -> val newDate = Calendar.getInstance() newDate.set(year, monthOfYear, dayOfMonth) //dob_textview.setText(“($dayOfMonth) ($monthOfYear) ($year)”) val dateFormat = SimpleDateFormat(VDAppConstants.DOB_DISPLAY_FORMAT) dob_textview?.setText(dateFormat.format(newDate.time)) }, mNewCalendar.get(Calendar.YEAR), mNewCalendar.get(Calendar.MONTH), mNewCalendar.get(Calendar.DAY_OF_MONTH)) mNewCalendar.set(1978, mNewCalendar.get(Calendar.MONTH), mNewCalendar.get(Calendar.DAY_OF_MONTH)) mDobDialog?.datePicker?.maxDate = mNewCalendar.timeInMillis } 以下代码仅适用于Kitkat设备,但不适用于牛轧糖设备。 val mDobDialog = DatePickerDialog(this@MainActivity, android.R.style.Theme_Holo_Dialog, DatePickerDialog.OnDateSetListener { […]

意外的隐式转换为CharSequence:布局标签是TextView

Android Studio显示错误Unexpected implicit cast to CharSequence: layout tag was TextView此代码中的Unexpected implicit cast to CharSequence: layout tag was TextView findViewById(R.id.tv_name).text = “text” 如果我会写 (findViewById(R.id.tv_name) as TextView).text = “text” 一切安好。 问题是为什么发生这种情况? 不findViewById已经有TextViewtypes?

Kotlin || RecycleView项目不会膨胀:RecycleView.Adapter的每个重写方法上的无法访问的代码

我正在Kotlin创建自定义Recycleview 我没有得到代码中的任何exception,它运行完美,但担心的是该项目不会出现在Recycleview上, Recycleview代码在Adapter类中是无法访问的。 Waring: – RecycleView适配器的重写方法上无法访问的代码。 请检查我的Adapter和Activity类 适配器类 class CustomRecycleAdapter(val data: ArrayList) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder { TODO(“not implemented”) //To change body of created functions use File | Settings | File Templates. val v = LayoutInflater.from(parent?.context).inflate(R.layout.recycle_item, parent, false) return ViewHolder(v) } override fun getItemCount(): Int { TODO(“not implemented”) //To […]

如何在Android studio中随机生成一个字符串和颜色的字符串

我试图让一个程序随机生成一个文本,让文本随机颜色,但我不知道如何。 可以在Java或Kotlin中。

匕首2活动不能提供@提供或@产生注释的方法

我是新来的匕首,我试图实现一个从注入正在发生的类inheritance的类。 当我在MainActivity中注入一个组件并从BaseActivityinheritance它时,事情就破灭了。 我的AppComponentClass: @Singleton @Component(modules = {NetworkModule.class, ApplicationModule.class, AndroidModule.class}) public interface AppComponent { void inject (BaseActivity baseActivity); void inject (MainActivity mainActivity); } } 我的ActivityModule类: @Module public class ActivityModule { private Activity activity; public ActivityModule(Activity activity) { this.activity = activity; } @PerActivity @Provides @ActivityContext public Context provideContext() { return activity; } } 我的ApplicationModule类: @Module public class […]

插件没有在Android自动构建中发现gradle错误

由于将Kotlin添加到我们的Android源代码中,我们在自动构建中发生间歇性故障。 大部分的构建都失败了,而十进制构建也许会成功。 在引入Kotlin之前,这些错误并没有发生,而且在我们的开发机器上本地构建时,不会发生这些错误 – 只能在构建服务器上进行。 当通过命令行(即gradlew assembleFlavour1Flavour2 )建立时,我们得到以下错误: Plugin with id ‘com.android.application’ not found 。 但是,当我们从Android Studio构建(在构建服务器上,相同的jenkins奴隶),我们得到一个稍微不同的错误: Plugin with id ‘kotlin-android’ not found 。 我更新了Android Studio(通过File > Settings > System Settings > Updates )和Kotlin(通过Android Studio > Tools > Kotlin > Configure Kotlin Plugin Updates )。 我们的根build.gradle如下所示: // Top-level build file where you can add configuration […]

如何使用moshi创建复杂的json而不需要定义类?

在gson中,我可以使用JsonElement来格式化一个复杂的json,像(在kotlin中): val objIDonotWantToDefine = JsonObject() objIDonotWantToDefine.addProperty(“objName”, “objIDonotWantToDefine”) val playerJsonArray = JsonArray() for ((name, age) in players) { val player = JsonObject() player.addProperty(“name”, name) player.addProperty(“age”, age) playerJsonArray.add(player) } objIDonotWantToDefine.add(“players”, playerJsonArray) val jsonStringIWant = GsonBuilder().create().toJson(objIDonotWantToDefine) 我知道我可以使用JSONWriter在莫西做到这一点。 但有没有一个简单的方法来做到这一点?