如何刷新我的视图以进行更新?我想这样做的原因是因为我有一个ImageButton
只有在某个条件成立时才会显示。当用户导航回活动时。
这是我在onResume
方法中的代码,但它没有做任何事情。我想再次致电setContentView()
它会重新加载内容,但由于ImageButton
现在设置为VISIBLE
,它会显示出来。
CODE:
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Toast.makeText(getApplicationContext(), "Resume Size: " + Order.getInstance().getOrderItems().size(), Toast.LENGTH_SHORT).show();
price.setText(String.valueOf(Order.getInstance().getAmount()));
confirmOrderBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
if(Order.getInstance().getOrderItems().size() > 0){
confirmOrderBtn.setVisibility(View.VISIBLE);
this.setContentView(R.layout.activity_starters);
confirmOrderBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Load up review order
Toast.makeText(v.getContext(), "REVIEW ORDER", Toast.LENGTH_SHORT).show();
}
});
}
}
非常感谢任何建议!
答案 0 :(得分:3)
setVisibility()
本身应invalidate()
您的观点。您应该调试并检查您的getOrderItems().size()
电话是否正在返回您期望的电话。您不应该在setContentView()
之后再次致电onCreate()
。
答案 1 :(得分:0)
在onCreate()
中输入此代码
confirmOrderBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Load up review order
Toast.makeText(v.getContext(), "REVIEW ORDER", Toast.LENGTH_SHORT).show();
}
});
}
在onResume
中使用此内容:
if(Order.getInstance().getOrderItems().size() > 0){
confirmOrderBtn.setVisibility(View.VISIBLE);
}