我使用SELECT s FROM EntityA t JOIN t.start s ORDER BY s.name
循环创建了一些ImageView
并将其插入for
。
然后我需要在触摸屏幕时再创建一个ScrollView
。
ImageView
关键字不能用于在'###'标记位置创建this
。
我是初学者。
ImageView
答案 0 :(得分:2)
使用ImageView imView = new ImageView(MainActivity.this);
。
在第一种情况下,this
已经提到MainActivity
。
但是,在第二种情况下,this
实际上是指View.OnTouchListener
。
答案 1 :(得分:2)
您是否意识到this
在您的背景下意味着什么?
this
引用类型为View.OnTouchListener
的匿名类。
要引用班级MainActivity
的对象,您必须引用MainActivity.this
。
答案 2 :(得分:1)
添加具有此功能的最终上下文并使用它。
示例:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ScrollView scroll=new ScrollView(this);
final Context ctx = this;
...
//but here says 'this' cannot be applied ###############
ImageView imView = new ImageView(ctx);
答案 3 :(得分:1)
此关键字在父类中运行良好,但在创建子类时,必须使用ActivityName.this
而不是this
。