'this'关键字不起作用

时间:2015-04-28 09:07:15

标签: java android

我使用SELECT s FROM EntityA t JOIN t.start s ORDER BY s.name 循环创建了一些ImageView并将其插入for

然后我需要在触摸屏幕时再创建一个ScrollViewImageView关键字不能用于在'###'标记位置创建this

我是初学者。

ImageView

4 个答案:

答案 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