Java 获取imageView的主活动上下文

Java 获取imageView的主活动上下文,java,android,multithreading,uiimageview,Java,Android,Multithreading,Uiimageview,我正在使用线程(runOnUiThread)将imageView添加到mainActivity。 我不知道应该将什么导入构造函数!它需要上下文,我尝试了MainActivity。这个和getApplicationContext()和getBaseContext(),但它不起作用 public void addImageView(final int belowId,final int id){ runOnUiThread(new Runnable() { @Override

我正在使用线程(runOnUiThread)将imageView添加到mainActivity。
我不知道应该将什么导入构造函数!它需要上下文,我尝试了
MainActivity。这个
getApplicationContext()
getBaseContext()
,但它不起作用

public void addImageView(final int belowId,final int id){
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            RelativeLayout rSub= (RelativeLayout) findViewById(R.id.rSub);
            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.WRAP_CONTENT,
                    RelativeLayout.LayoutParams.WRAP_CONTENT);
            lp.addRule(RelativeLayout.BELOW, belowId);
            lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
            ImageView iv = new ImageView(?????);
            iv.setImageResource(R.drawable.ic_launcher);
            iv.setId(id);
            rSub.addView(iv, lp);   
        }
    });
}
并称之为:

new Thread(new Runnable() {
    @Override
    public void run() {
        addImageView(belowId, tempId);
     }
}).start();

感谢您的帮助

我假设您的
addImageView
方法不在活动类中。。可能在自定义视图中。。(但这是我的假设)

因此,如果是另一个类(不是活动类)实现了
addImageView
方法,那么:

活动类别:

MyCustomComponent component = new MyCustomComponent(this);
MyCustomComponent类:

private Context context;

public MyCustomComponent(Context context){
  this.context = context;
}

public void addImageView(final int belowId,final int id){
    ((Activity)this.context).runOnUiThread(new Runnable() {
       ....
    }
}
如果您正在活动中运行方法,则使用:(您可以看到一个示例)


你能多发布一些你的活动课吗?你的活动名称是什么?
MainActivity.this.runOnUiThread(new Runnable() {...});