首页 > 解决方案 > 新对象问题

问题描述

我是 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 文本没有任何反应。

谁能向我解释有什么区别?为什么会发生这种情况或第二种情况有什么问题?

标签: android

解决方案


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)


推荐阅读