下面的 activity 執行一個 fragment transaction
DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transaction.addToBackStack(null);
transaction.commit();
我想要用一個動態的string去替換布局裡面newFragment裡的值
我覺得可以把 newFragment.setMyString("my dynamic value");
放在transaction.commit()後面。
在 newFragment.java 中
public void setMyString(String s)
{
TextView tv = (TextView) getActivity().findViewById(R.id.myobject);
tv.setText(s);
}
但是提示說 getActivity() 返回 null。如何獲取 context 找到layout elements?
DetailFragment newFragment = new DetailFragment(ACTIVITY);
構造函數裡加上activity的引用傳過去,
在DetailFragment類裡面接收
Context context = ACTIVITY;
然後
public void setMyString(String s,Context context)
{
TextView tv = (TextView) context.findViewById(R.id.myobject);
tv.setText(s);
}