Android:将活动(this)发送到Thread中的类不起作用

时间:2015-07-02 10:28:10

标签: android multithreading android-activity

我想将this activity发送给class,但不能正常工作

  

main.java:

new Thread(new Runnable(){

            @Override
            public void run() {
                final LinearLayout lnrPost = (LinearLayout) findViewById(R.id.lnrPost);
                Cmd.readD(lnrPost, this);
                ......
  

cmd.java:

 public class cmd {

        public static void readD(LinearLayout viewMain, Activity context) {
                LayoutInflater inflater = context.getLayoutInflater();
                View viewIn = inflater.inflate(R.layout.post, null);
                ......
  

错误:

 The method readD(LinearLayout, Activity) in the type Cmd is not applicable for the arguments (LinearLayout, new Runnable(){})

3 个答案:

答案 0 :(得分:0)

您的错误明确提到您正在传递Runnable所以

更改以下行

Cmd.readD(lnrPost, this);

Cmd.readD(lnrPost, yourActivityName.this);

希望这会对你有所帮助。

答案 1 :(得分:0)

你想发什么?活动或背景?

如果您想发送活动,请尝试

   Cmd.readD(lnrPost, MainActivity.this);

如果您想发送上传,请尝试

   Cmd.readD(lnrPost,getBaseContext());

答案 2 :(得分:0)

在你的代码中,你通过引用它来发送一个对象,它指向当前对象,即Runnable。 如果要发送活动,请使用

Cmd.readD(lnrPost, MainActivity.this);

如果要发送上下文,可以使用相同的方法或使用

Cmd.readD(lnrPost, getApplicationContext());

但我想知道为什么你的IDE在运行之前没有显示错误..