私は新人で、Android アプリで複数のタブ画面を作成しましたが、複数のタブ画面の 1 つにボタンを作成しようとすると、ボタンを押しても、作成した別の画面に移動しませんでした。ボタンを機能させるために、複数のタブ画面にコードを追加する必要があるかどうか疑問に思っていました。複数のタブのJavaコードは次のとおりです。
public class Investment extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_investment);
TabHost tabHost = getTabHost();
// Tab for Homepage
TabSpec photospec = tabHost.newTabSpec("Home");
// setting Title and Icon for the Tab
photospec.setIndicator("Home", getResources().getDrawable(R.drawable.homeicon));
Intent photosIntent = new Intent(this, Home.class);
photospec.setContent(photosIntent);
// Tab for Riskassessment
TabSpec songspec = tabHost.newTabSpec("Risk");
songspec.setIndicator("Risk", getResources().getDrawable(R.drawable.riskicon));
Intent songsIntent = new Intent(this, RiskAssessment.class);
songspec.setContent(songsIntent);
// Tab for News
TabSpec videospec = tabHost.newTabSpec("News");
videospec.setIndicator("News", getResources().getDrawable(R.drawable.newsicon));
Intent videosIntent = new Intent(this, News.class);
videospec.setContent(videosIntent);
// Tab for Tips
TabSpec tipsspec = tabHost.newTabSpec("Tips");
tipsspec.setIndicator("Tips", getResources().getDrawable(R.drawable.investmenttipsicon));
Intent tipsIntent = new Intent(this, InvestmentTips.class);
tipsspec.setContent(tipsIntent);
// Tab for about us
TabSpec aboutusspec = tabHost.newTabSpec("About Us");
aboutusspec.setIndicator("About Us", getResources().getDrawable(R.drawable.aboutusicon));
Intent aboutusIntent = new Intent(this, AboutUs.class);
aboutusspec.setContent(aboutusIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(photospec); // Adding tab
tabHost.addTab(songspec);
tabHost.addTab(videospec);
tabHost.addTab(tipsspec);
tabHost.addTab(aboutusspec);
}
私のボタンのコード
public class ButtonSelection extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
Button b = (Button) findViewById(R.id.buttonequity);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(ButtonSelection.this, EquitySelection.class);
startActivity(i);
}
});
}
}
ボタンを押したときの画面のコード
public class EquitySelection extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.equitydescription);
}
}