【问题标题】:how to get rid of this error 'casting findViewById to EditText is redundant'? [duplicate]如何摆脱这个错误'将 findViewById 转换为 EditText 是多余的'? [复制]
【发布时间】:2019-03-02 09:55:01
【问题描述】:

我是 Java 和 Android Studio 的新手。如何在我的程序中使用这行代码?我不能再在 API 26 中使用强制转换了。

public <T extends View > T findViewById(int id)

【问题讨论】:

  • 请参考以下描述:stackoverflow.com/a/44903372/6532155
  • 只需移除铸件。很久以前有必要,但现在编译器正确地干扰了它。
  • 如何在我的程序中使用这行代码?我只是一个初学者 public T findViewById(int id)

标签: java android


【解决方案1】:

这不是错误 - 现在您不必将视图转换为类型(如转换为 editText)。 如果之前你必须这样做:

 editText = (EditText) findViewById(R.id.id);

你不再需要它了,你可以这样做:

 editText = findViewById(R.id.id);

【讨论】:

  • 问题依旧,如果我输入你回答的代码,它会显示'无法解析符号 usernameEditText
  • 检查您是否有具有该 ID 的 editText(在您的活动布局中)
【解决方案2】:

因此,如果您的 compileSdk 至少为 26,则意味着无需对 EditText 进行类型转换。 您可以简单地使用:

 EditText editText = findViewById(R.id.my_edittext);

【讨论】:

  • 问题依旧,你能告诉我如何在我的代码中使用 public T findViewById(int id) 吗?我只是一个初学者对不起:(
  • @Hamza,您可以直接使用editText = findViewById(R.id.my_edittext);,无需对任何视图进行类型转换。你得到的错误是not the error 它只是warning。您只需编写editText = findViewById(R.id.my_edittext); 即可删除警告
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 2019-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多