【问题标题】:findViewById doesn't seem to return correct view type?findViewById 似乎没有返回正确的视图类型?
【发布时间】:2019-05-18 20:20:39
【问题描述】:

由于我们不再需要强制转换,我希望 findViewById 返回正确的类型,但它似乎没有这样做。我显然在这里犯了一个非常简单的错误,你能指出来吗?

我有一个TextView 的 ID(因为我是动态创建的)并且想要更改该项目的文本大小,这个 sn-p 可以正常工作:

        TextView tmpView = findViewById(chain.getIngredientNameId());
        tmpView.setTextSize(8);

但是这个没有:

        findViewById(chain.getIngredientNameId()).setTextSize(8);

所以我假设我必须将其转换为TextView,但我的尝试似乎都不起作用(使用 () 或 ),我错过了什么明显的东西?

【问题讨论】:

  • “我的尝试似乎都不起作用”是什么意思?您尝试的确切语法是什么,具体结果是什么?

标签: android casting findviewbyid


【解决方案1】:

如果不保存到变量,你应该转换它。

TextView tmpView = findViewById(chain.getIngredientNameId());          //TextVeiw
((TextView) findViewById(chain.getIngredientNameId())).setTextSize(8); // TextVeiw
findViewById(chain.getIngredientNameId());                             // View

【讨论】:

  • 完美,我在找第二行,第一部分周围没有多余的 (),就像我说的,很明显(现在),谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
  • 2020-09-11
  • 2011-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多