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