0

TextViewにテキストを書き込むには、メソッドsetText()を使用する必要があります。これを書いたら

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

解決策は、次のように、現在のアクティビティをパラメーターとしてメソッドに渡すことです。

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 に答える