Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击按钮时,如何以编程方式创建新的TextView?_Java_Android_Textview - Fatal编程技术网

Java 单击按钮时,如何以编程方式创建新的TextView?

Java 单击按钮时,如何以编程方式创建新的TextView?,java,android,textview,Java,Android,Textview,所以我想在点击按钮时创建一个新的文本视图。由于某些原因,TextView(此)在onClick()中时不起作用。我希望能够用java实现这一点 同样,当我在onClick内部创建TextView时,在创建TextView时出现了一个错误(如下所示) 我得到一个错误,“TextView (android.content.Context) 无法应用文本视图中的 到 (anonymous android.view.view.OnClickListener)”。这个内部类上下文中的指向内部类的实例,它不

所以我想在点击按钮时创建一个新的文本视图。由于某些原因,TextView(此)在onClick()中时不起作用。我希望能够用java实现这一点

同样,当我在onClick内部创建TextView时,在创建TextView时出现了一个错误(如下所示)

我得到一个错误,“TextView (android.content.Context) 无法应用文本视图中的 到
(anonymous android.view.view.OnClickListener)”。

这个内部类上下文中的
指向内部类的实例,它不是(正如错误所说的)上下文(它是一个事件侦听器)。如果要使用外部类实例,必须在
this
前面加一个类限定符,即
MyClass。this
,其中
MyClass
是调用此代码的类的名称。

在内部类的上下文中,this
指向内部类的实例,而内部类的实例不是(正如错误所说)上下文(它是一个事件侦听器)。如果要使用外部类实例,则必须在
this
前面加上类限定符,即
MyClass。this
,其中
MyClass
是调用此代码的类的名称。

当您在单击侦听器中时
指的是侦听器,而不是活动。您需要使用对活动或上下文的引用来实例化TextView。

当您在单击侦听器中时
指的是侦听器,而不是活动。您需要使用对活动或上下文的引用来实例化TextView。

尝试替换此行:

  TextView textView = new TextView(this);
TextView textView = new TextView(Activity.this);
使用此行:

  TextView textView = new TextView(this);
TextView textView = new TextView(Activity.this);
您需要使用
活动。如果要传递上下文,请使用此


指的是内部类(OnClickListener),而不是您的活动(您的外部类)

尝试替换此行:

  TextView textView = new TextView(this);
TextView textView = new TextView(Activity.this);
使用此行:

  TextView textView = new TextView(this);
TextView textView = new TextView(Activity.this);
您需要使用
活动。如果要传递上下文,请使用此


引用内部类(OnClickListener),而不是您的活动(外部类)

您的代码正常,唯一的问题是您正在创建textview,但没有将其添加到布局中

所以加上

layout.addView(textView);
下面


代码正常,唯一的问题是您正在创建textview,但没有将其添加到布局中

所以加上

layout.addView(textView);
下面

在这里检查我的答案:在这里检查我的答案: