2016-09-20 103 views
0

我有一個父母活動是'A'的片段'X'。Android studio - 如何將片段的上下文值傳遞給另一個活動?

我有另一個活動「B」,其中包含一個方法'getData()';此活動還有其自己的參數化構造函數,其中Context的對象正被傳遞給此構造函數。

活性B: -

public class B 
{ 
    Context _context; 
    String val="XYZ"; 

    public B(Context context) 
    { 
    this._context = context; 
    //Rest of the code 
    } 
    public String getData() 
    { 
    return val; 
    } 
} 

我的程序需要我打電話的getData()在片段 'X'

片段X活動 'B' 的方法,包括: -

public class X extends Fragment implements 
{ 
    String name; 

    Context context=getActivity().getApplicationContext(); 

    B obj1=new B(context); 
    //i have passed Context object from fragment X to Activity B 

    ButtonClickEvent(..) 
    { 
    name=obj1.getData(); 
    //Rest of the code 
    } 
} 

這個問題在啓動片段X時出現;該錯誤與Context對象有關,我不明白什麼是exatcly是問題;歡迎提出建議!謝謝。

+0

請發佈錯誤?此外,你爲什麼用構造函數實例化活動?另外,還應該有其他方法來獲取數據,而不是創建活動的新實例,然後從未附加到它的片段獲取其數據。隨着應用程序的增長,這可能會導致稍後致命的錯誤。 –

回答

2

兩個可能的定義:

所以創建一個Activityconstructor傳遞getAcivity()那裏得到上下文。

謝謝。

+0

謝謝你的建議幫助!上下文= getActivity()getApplicationContext();我在OnCreateView()中編寫了這個語句,它工作正常! – sam88

相關問題