2017-11-01 11 views
-1

내 활동에 내 DataObject에서 데이터를 표시하려고합니다. 모든 것이 잘 작동하고 어디서나 충돌하지 않지만 내 의견은 정보로 업데이트되지 않습니다. 나는 안드로이드에 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 

       } 
      } 
     }); 
+0

'e'가 null이 아니며 done 메소드가 호출 되었습니까? 결과를 얻으려면 logcat을 사용해보십시오. –

+0

응용 프로그램을 디버깅하고 모든 변수의 데이터를 볼 수 있기 때문에 확실하지만 메서드 텍스트를 설정할 때 표시되지만 액티비티가 새로 고침되지는 않습니다 ... – Miki

답변

0

컨텐츠를 컨텐츠로 설정하면 왜 동일한 XML을 다시 팽창합니까? 다음 줄을 제거하십시오.

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

보기를 찾을 때 참조를 제거하십시오. 그냥 사용하십시오 :

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

현재 배경 방법 변경 사항은 비정상보기로 표시되고 활동보기에는 표시되지 않으므로 변경 사항이 표시되지 않습니다. 위의 코드를 제거하면 정상적으로 작동합니다.

+0

고마워, 안드로이드에 내 첫 번째 응용 프로그램입니다 ... – Miki

0

당신은 간단하게 사용할 수 있습니다

finish(); 
startActivity(getIntent()); 

는 자체 내에서 Activity를 새로.

+0

시작하지만 시작될 때 시작됩니다. 다시 루프에 입력하십시오 – Miki

+0

가장 쉬운 방법은 onCreate (null); 당신의 활동은 새로운 것과 같을 것입니다. –