Android layout setLayout没有膨胀正确的xml布局?
到目前为止一切正常。我尝试使用文档或查找我的问题。 但是,我的mainActivity有4个按钮。根据单击的视图,这些按钮将传递R.id按钮。我将该值传递给intent,Activity2使用该bundle获取id integer。然后我使用这个设置ContentView 然而,我有问题获得正确的看法充气现在,它似乎加载一个旧的布局。我的目标是根据单击的按钮,在Activity2上膨胀3个单独的布局 我知道我的另一个按钮会使另一个活动膨胀,并获得正确的xml布局。 为什么我的其他3个按钮在Activity2上没有正确充气 公共类MainActivity扩展AppCompatActivity实现View.OnClickListener{Android layout setLayout没有膨胀正确的xml布局?,android-layout,Android Layout,到目前为止一切正常。我尝试使用文档或查找我的问题。 但是,我的mainActivity有4个按钮。根据单击的视图,这些按钮将传递R.id按钮。我将该值传递给intent,Activity2使用该bundle获取id integer。然后我使用这个设置ContentView 然而,我有问题获得正确的看法充气现在,它似乎加载一个旧的布局。我的目标是根据单击的按钮,在Activity2上膨胀3个单独的布局 我知道我的另一个按钮会使另一个活动膨胀,并获得正确的xml布局。 为什么我的其他3个按钮在Act
Button pizza;
Button hamburger;
Button icecream;
Button history;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pizza = findViewById(R.id.buttonPizza);
hamburger = findViewById(R.id.buttonBurger);
icecream = findViewById(R.id.buttonIceCream);
history = findViewById(R.id.buttonHistroy);
pizza.setOnClickListener(this);
hamburger.setOnClickListener(this);
icecream.setOnClickListener(this);
history.setOnClickListener(this);
}
@Override
public void onClick(View v){
int idView = v.getId();
switch(v.getId()) {
case R.id.buttonBurger : startOrderActivity(R.layout.burger_layout);
makeToast(idView);
break;
case R.id.buttonPizza : startOrderActivity(R.layout.pizza_layout);
makeToast(idView);
break;
case R.id.buttonIceCream : startOrderActivity(R.layout.icecream_layout);
makeToast(idView);
break;
case R.id.buttonHistroy : startOrderActivity(R.layout.history_layout);
makeToast(idView);
break;
}
}
private void startOrderActivity(int id){
if(id != R.layout.history_layout) {
Intent intentOrder = new Intent(this, MakeOrderActivity.class);
intentOrder.putExtra("layout", id);
startActivity(intentOrder);
}
else {
Intent intentOrder = new Intent(this, OrderHistoryActivity.class);
intentOrder.putExtra("layout", id);
startActivity(intentOrder);
}
}
public void makeToast(int id){
String txt = String.valueOf(id);
Toast newToast = Toast.makeText(getApplicationContext(),txt,Toast.LENGTH_LONG);
newToast.show();
}
}
公共类MakeOrderActivity扩展了AppCompatActivity{
Button placeOrderButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle data = getIntent().getExtras();
int layoutNum = data.getInt("layout");
setContentView(layoutNum);
placeOrderButton = findViewById(R.id.placeOrder);
}
@Override
protected void onStart() {
super.onStart();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.order, menu);
return true;
}
public void onCheckboxClicked(View view){
}
}答案是创建一个由getInflator创建的视图