すべてのアクティビティで同じアプリの下部があります。だから私はxmlファイルを作成し、それをアクティビティの各xmlファイルに含めました
<include layout="@layout/menu_bottom"/>
次に、Activity を拡張する Main Activity というクラスを作成します。このクラスには、次のように記述します。
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle b = getIntent().getExtras();
int res = b.getInt("layout", R.layout.home);
setContentView(res);
Button itinerari = (Button) findViewById(R.id.itinerari);
itinerari.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), Itinerari.class);
startActivity(i);
}
});
Button spostamenti = (Button) findViewById(R.id.spostamenti);
spostamenti.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), Spostamenti.class);
startActivity(i);
}
});
Button mappa = (Button) findViewById(R.id.mappa);
mappa.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), Mappa.class);
startActivity(i);
}
});
Button info = (Button) findViewById(R.id.info);
info.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), Info.class);
startActivity(i);
}
});
}
}
問題は、アプリケーションを起動するとエラーが発生することint res = b.getInt("layout", R.layout.home);
です。問題はNullPointerException
.
次に、手動setContentView(R.layout.home)
で設定すると動作します