刷新onResume Android中的视图

时间:2013-02-21 18:03:46

标签: android android-view imagebutton onresume

如何刷新我的视图以进行更新?我想这样做的原因是因为我有一个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();

            }
        });
    }
    }

非常感谢任何建议!

2 个答案:

答案 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);
}