在Kotlin Android中出现“未解析的参考”错误

时间:2017-11-09 10:18:52

标签: android android-studio kotlin

我有代码:

FragmentManager fm = getActivity().getSupportFragmentManager();

for (int i = 0; i < fm.getBackStackEntryCount(); ++i) {
     fm.popBackStack();
   }

当我运行它时,我收到错误:

  • 未解析的参考setOnClickListener
  • 未解决的参考文:文字
  • 未解析的参考:ToString

任何人都可以向我解释为什么会这样并修复它 谢谢

3 个答案:

答案 0 :(得分:6)

您导入的是ID,而不是视图。 而不是:

import com.example.admin.maytinh.R.id.button
import com.example.admin.maytinh.R.id.editText
import com.example.admin.maytinh.R.id.editText2
import com.example.admin.maytinh.R.id.editText3

使用它:

import kotlinx.android.synthetic.main.activity_main.*

并在app gradle文件中添加插件:

apply plugin: 'kotlin-android-extensions'

答案 1 :(得分:4)

由于您尚未导入视图,因此出现func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) { getLocalizableSampleTemplate(for: complication) {template in guard let template = template else { handler(nil) return } handler(CLKComplicationTimelineEntry(date: Date(), complicationTemplate: template)) } } 错误。而不是查看您已导入的ID。

导入要导入单个视图

unresolved

导入特定布局的所有窗口小部件属性

import kotlinx.android.synthetic.main.<layout_name>.<view_name>;

您还需要在模块的build.gradle文件中启用Android Extensions Gradle插件:

import kotlinx.android.synthetic.main.<layout>.*

答案 2 :(得分:1)

看起来您正在尝试使用Kotlin Android Extensions。 要这样做导入:

import kotlinx.android.synthetic.main.activity_main.*

而不是

import com.example.admin.maytinh.R.id.button
import com.example.admin.maytinh.R.id.editText
import com.example.admin.maytinh.R.id.editText2
import com.example.admin.maytinh.R.id.editText3

花几分钟时间阅读KAE如何工作 - 它会对你有很大的帮助。

此外,没有ToString()ToInt()等方法。您要找的是:toString()toInt()