ここに問題があります。選択したボタンに応じてint xが1〜6の数字に変更されるクラス(class1としましょう)があります。クラス 2 でこの int を呼び出せるようにする必要がありますが、新しい int x 値は読み取らず、デフォルトのみを読み取ります。
public class class1 extends Activity {
private view btn1;
private view btn2;
//...
private view btn6;
public int x = 1;
btn1.setOnClickListener(sbtn1Listener);
//...
btn2.setOnClickListener(sbtn2Listener);
private View.OnClickListener sbtn1Listener = new View.OnClickListener() {
public void onClick(View v) {
x = 1;
}
};
private View.OnClickListener sbtn2Listener = new View.OnClickListener() {
public void onClick(View v) {
x = 2;
}
};
//...
ボタンはそのプログラムで正常に機能します。他にもありますが、今はそのままにしておきます。次に、class2 は新しい値を読み取る必要があります。
public class class2 extends BaseObject {
public int y = 1;
class1 a = new class1();
a.getx();
y = a;
if (y == 1) {
}else if (y == 2){
//...
class1 から新しい x 値を読み取る代わりに、デフォルト セットを 1 として読み取るだけです。
また、すべてのコンポーネントを実行するには BaseObject が必要であるため、class2 の拡張部分を変更できないことに注意してください。