【问题标题】:Why can I not use a method to set text for a generic EditText?为什么我不能使用方法为通用 EditText 设置文本?
【发布时间】:2014-03-20 12:21:45
【问题描述】:

在我的代码中的几个地方,我使用了一种方法来设置视图的文本,而不是直接设置它。我的意思是,而不是做:

editText.setText(myString);

我使用的方法如下:

public void setText(EditText editText, String myString) {
     editText.setText(myString);
}

(显然这看起来有点多余;我使用它是为了检查字符串的属性,这些属性可能会对我在某些情况下如何设置文本产生一些影响。)

以这种方式使用方法似乎不会设置文本。这是为什么呢?

谢谢!

【问题讨论】:

  • 这是因为它会将文本设置为传递的变量而不是声明的变量,variable = editext
  • 我认为传递给该方法的是对该 editText 的引用,因此对该引用执行的任何操作都应该影响最初声明的变量?
  • 我没有看到您发布的代码有任何问题,问题一定出在其他地方。到底出了什么问题?
  • 嗯,刚刚做了另一个测试,看来你是对的。我认为我尝试输入的变量出于某种原因为空。
  • @Rat-a-tat-a-tatRatatouille 你应该看看this

标签: java android android-edittext settext


【解决方案1】:

获取元素的 ID,然后执行 set 。 例如

 EditText editText=(EditText)findViewById(R.id.edittext_from_example);
 edtiText.setText("String");

此外,如果您愿意,您可以编写单独的方法

它不知道将字符串设置到哪个editText。

【讨论】:

  • 这和why?有什么关系
  • 我已经做到了。感谢您尝试提供帮助,但这不是问题的原因。
  • @publicstaticvoid 你发送两个参数知道你初始化了吗?没有初始化或正确声明,我们无法设置值....
  • 我确实已经初始化了编辑文本。如果我没有,它会抛出一个空指针异常。但是,我认为您是正确的,因为该字符串未初始化。
  • 我现在已经修好了,谢谢。是一些奇怪(而且非常愚蠢)的 onResume 行为。
猜你喜欢
  • 2011-03-17
  • 1970-01-01
  • 2017-04-11
  • 2011-09-06
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多