设计变更未反映在活动上

时间:2017-11-01 11:13:26

标签: android android-activity background

我正在尝试在我的Activity上显示来自DataObject的数据。一切正常,不会在任何地方崩溃,但我的观点不会随信息更新。 我是android上的begginner,我知道这个...... 请有人帮帮我吗?感谢

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);

        LayoutInflater inflater = LayoutInflater.from(DetailActivity.this);
        vp = (RelativeLayout)inflater.inflate(R.layout.activity_detail, null);

        String object_id = getIntent().getStringExtra("getIn"); // Get object_id from Intent

        DataQuery query = DataQuery.get("Id");
        query.getInBackground(object_id, new GetCallback<DataObject>() {
            @Override
            public void done(DataObject object, DataException e) {
                if (e == null) {
                        TextView price = (TextView)vp.findViewById(R.id.priceD);
                        price.setText((String) object.get("price"));


                        TextView productD = (TextView)vp.findViewById(R.id.productD);
                        productD.setText((String) object.get("product"));

                        ImageView  thumbnail=  (ImageView)vp.findViewById(R.id.thumbnail2);
                        thumbnail.setImageBitmap((Bitmap) object.get("image"));

                        TextView descriptionD = (TextView)vp.findViewById(R.id.description );
                        descriptionD.setText((String) object.get("description"));


                  //  }

                } else {
                    // Error

                }
            }
        });

2 个答案:

答案 0 :(得分:0)

您可以简单地使用:

finish();
startActivity(getIntent());

从内部刷新Activity

答案 1 :(得分:0)

当你有setContent to Activity时,你为什么要再次膨胀相同的XML? 删除这些行:

 LayoutInflater inflater = LayoutInflater.from(DetailActivity.this);
    vp = (RelativeLayout)inflater.inflate(R.layout.activity_detail, null);

在查找视图时也删除其引用。只需使用:

TextView price = (TextView)findViewById(R.id.priceD);

目前,您在后台方法中的更改会更改在充气视图内的视图,而不会在“活动”视图中更改视图,因此更改不可见。删除上面的代码,它将正常工作。