0

我需要使用 setText() 方法在 TextView 中写入文本。如果我写这个

TextView t = (TextView)this.findViewById(R.id.test);

在我的 MainActivity 类中它可以工作,如果我尝试在另一个类中编写它,例如这里

public class AssociaCarta extends Activity{
    public void associaCarta(int numeroRandom, ImageView carta) {   
        TextView t = (TextView)this.findViewById(R.id.test);
    }
}

我的应用程序崩溃。我不明白为什么。

4

1 回答 1

3

一种解决方案是将当前 Activity 作为参数传递给您的方法,如下所示:

public class AssociaCarta {
    public void associaCarta(Activity context, int numeroRandom, ImageView carta) {
        TextView t = (TextView) context.findViewById(R.id.user);
    }
}

然后你会像这样在你的 MainActivity 中使用它:

AssociaCarta carta = new AssociaCarta();
carta.associaCarta(this, randomNumber, cartaImageView);
于 2013-01-02T16:45:14.753 回答