int
を使用してさまざまなグラフを開こうとしています。int
ボタンが押されたときに値を変更したいのですが、変更されていません。これが私のコードです:
public class PatientDemographics extends Activity
{
private GraphicalView mChartView;
int num = 1;
int tabnum = 0;
int finalnum;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.tabviews);
LinearLayout ll = (LinearLayout) findViewById(R.id.buttons);
Button button1 = new Button(this);
button1.setText("Disease Type");
ll.addView(button1);
button1.setOnClickListener( new View.OnClickListener()
{
public void onClick(View v)
{
num = 1;
Intent i = new Intent(PatientDemographics.this, TabHelper.class);
i.putExtra("num", tabnum);
startActivity(i);
}
});
Button button2 = new Button(this);
button2.setText("Gender");
ll.addView(button2);
button2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
num = 2;
Intent i = new Intent(PatientDemographics.this, TabHelper.class);
i.putExtra("num", tabnum);
startActivity(i);
}
});
Button button3 = new Button(this);
button3.setText("Age at Diagnosis");
ll.addView(button3);
button3.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
num = 3;
Intent i = new Intent(PatientDemographics.this, TabHelper.class);
i.putExtra("num", tabnum);
startActivity(i);
}
});
Button button4 = new Button(this);
button4.setText("Treatment Status");
ll.addView(button4);
button4.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
num = 4;
Intent i = new Intent(PatientDemographics.this, TabHelper.class);
i.putExtra("num", tabnum);
startActivity(i);
}
});
}
}
無視してくださいtabnum
。すべてが含まれているタブを決定するために使用されますが、これは同じです。また、もともとxmlでボタンを作っていたのですが、タブごとに必要なボタンの数が違っていて、やり方がわからなかったのでコードで作ってみました。
num
に初期化し1
、メソッド内で変更しようとしていることがわかりますonClick
が、決して変更されません。さらに情報が必要な場合はお知らせください。
編集:
protected void onSaveInstanceState(Bundle outState)
{
outState.putInt("num", num);
super.onSaveInstanceState(outState);
}
そして onCreate で:
super.onCreate(savedInstanceState);
if(savedInstanceState != null)
{
num = savedInstanceState.getInt("num");
}