2013-01-03 144 views
0

我正在使用片段來製作選項卡,並且我有一個Fragment,其中我從設備庫中捕獲圖像。如何在片段活動中給片段佈局充氣

爲此,我正在使用片段1以下代碼:

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 

startActivityForResult(Intent.createChooser(intent,"Select Picture"), 2); 

它正常工作,因爲我可以選擇圖像的畫廊,並採取這種形象我使用

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) 
    try { 
     // We need to recyle unused bitmaps 

     LayoutInflater inflater = 
       (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     Uri selectedImageURI = data.getData(); 
     Drawable d=Drawable.createFromPath(getRealPathFromURI(selectedImageURI)); 

     LinearLayout l=(LinearLayout)inflater.inflate(R.layout.tab_frag1_layout, null, false); 
     //LinearLayout l2=(LinearLayout)inflater.inflate(R.layout.tabs_layout, container, false); 

     Toast.makeText(this, getRealPathFromURI(selectedImageURI), Toast.LENGTH_LONG).show(); 

     Button btn=(Button)l.findViewById(R.id.profileImage); 
     // btn.setBackground(d); 
     btn.setBackgroundDrawable(d); 
     l.removeView(btn); 

     l.addView(btn); 

     // imageView.setImageBitmap(bitmap); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 

}// end of the onActivityResult 

但不幸的是我無法在btn上看到圖像,即使佈局中的任何更改都不影響原始佈局,請幫助我如何在FragmentActivity中對片段的佈局進行充氣,以便我可以在該片段上顯示拍攝的圖像。

+0

你有沒有得到這個解決?如果是這樣,請將接受的適當答案標記出來,或者創建自己的答案並接受,以清除未答覆的答案。謝謝。 – jnthnjns

回答

1

嘿檢查你的代碼onActivityResult()。您正在直接創建Inflater對象,這在碎片中是不可能的。您必須針對FragmentActivity參考創建Inflater對象。替換此行:

LayoutInflater inflater = 
         (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

LayoutInflater inflater = 
         (LayoutInflater)getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);