android - 新对象问题
问题描述
我是 Android Studio 的新手。
我在 Android Studio 中制作了一个 TextView 和一个 Button。
当我单击按钮时,它应该触发此方法:
public void click (View view)
{
TextView tex = (TextView) findViewById(R.id.text_view);
tex.setText("Hello");
}
代码以这种方式工作。但是当我制作这样的方法时:
public void click (View view)
{
TextView tex = new TextView(this);
findViewById(R.id.text_view);
tex.setText("Hello");
}
代码没有做它应该做的事情。我的意思是 TextView 文本没有任何反应。
谁能向我解释有什么区别?为什么会发生这种情况或第二种情况有什么问题?
解决方案
TextView tex = new TextView(this);
该代码创建新的 textview 实例,但此 textview 与您的视图没有任何联系。
但是 TextView tex = (TextView) findViewById(R.id.text_view);
找到具有给定 ID 的第一个后代视图并将其分配给您的本地变量,以便您建立连接。
更多信息https://developer.android.com/reference/android/view/View#findViewById(int)
推荐阅读
- google-chrome - UiPath:获取从网页链接的文本文件的内容
- php - 在脚本函数中运行公共函数,而不是在加载 laravel fullcalendar
- plsql - 将单词后面的子字符串提取到字符串中的特定单词
- java - 无法检查 jdbc 自动提交模式
- android - 从特定位置剪切图像
- c# - 迭代多个 UnityWebRequest
- php - 如何查看 PHP 中的最大打开文件数?
- python - 如何在 Abaqus 材料子程序中运行 ML?
- arrays - 下面提到的这个问题的可能解决方案是什么?
- python - standard_init_linux.go:211:exec 用户进程使用 alpine linux 和 python 导致“没有这样的文件或目录”