2017-10-07 77 views
0

我已經實現刷卡Performance_Medicine在我的活動通話tablayout如何實現片段和AppCompatActivity在一個活動中的Android

public class Performance_Medicine extends Fragment{ 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 

     //Returning the layout file after inflating 
     //Change R.layout.tab1 in you classes 
     return inflater.inflate(R.layout.performance_medicine, container, false); 
    } 
} 

現在,我想實現在同一個活動cardview。但得到錯誤 like below image

回答

0

你所得到的錯誤,因爲你試圖傳遞延伸FragmentPerformance_Medicine一個實例。您需要通過可以通過this.getActivity()this.getContext()完成的上下文。如果你可以通過單例或this.getActivity().getApplicationContext()傳遞應用程序上下文,那麼你可能會更好的內存明智。

+0

無法訪問的聲明 albumList = new ArrayList <>(); –

+0

這是因爲您在實例化列表之前調用'return v'。所以這個函數在你達到這個聲明之前就結束了。 –

+0

它的工作。 @sam_c –

0

請記住,片段有其自己的生命週期,但它運行在其主機Activity的上下文中,這意味着您不能使用'this'獲取上下文,而需要使用getActivity()。另外,正如sam_c所說,在你的onCreate()方法中,最後一行代碼必須是'return ...',因爲這個方法的返回類型是'View',如果你調用return語句,在此之後執行任何操作。希望這有助於澄清。

相關問題