我想設置textView
在片段從另一個活動此活動不MainActivity
相關的具有片段transaction
..的setText從其他活性片段不與片段
已經嘗試從與有關的其他相關文章的一些方法,我的問題,但得到一個錯誤..
這裏是我的內部片段的方法recieve
從另一個活動
片段A
public class FragmentA extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ProgressDialog pDialog = new ProgressDialog(getContext());
pDialog.setCancelable(false);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflating view layout
View layout = inflater.inflate(R.layout.fragment_A, container, false);
//Put Data to id fragment
valueName = (TextView) layout.findViewById(R.id.valueNameNav);
valueStatus = (TextView) layout.findViewById(R.id.valueStatusNav);
}
public void setText(String name, String status){
valueName = (TextView) getView().findViewById(R.id.valueNameNav);
valueName.setText(name);
valueStatus = (TextView) getView().findViewById(R.id.valueStatusNav);
valueStatus.setText(status);
}
}
,這是我如何調用setText
方法片段從活動
String editValueName= editName.getText().toString();
String lastStatus = valueStatus.getText().toString();
FragmentA mFragment = (FragmentA)
getSupportFragmentManager().findFragmentById(R.id.fragment_A);
mFragment.setText(editValueName, lastStatus);
卻得到了這樣的
顯示java.lang.NullPointerException錯誤:試圖調用虛擬方法無效 COM .example.study.fragment.fragmentA.setText(java.lang.String, java.lang.String)'on null object reference
100%肯定有字符串上的數據字符串getText
您無法爲其他活動的視圖設置文本,您必須在該活動中設置文本,您可以使用意圖將字符串從一個活動傳遞到另一個活動 – has19
您無法訪問不屬於該活動的一部分。但是如果你真的想要執行這樣的任務。使用應該'BroadcastReceiver'。 如果你的片段被附加到活動中,你應該接口到這項工作。 –
此處片段爲空(或)片段未處於添加狀態。確保你的片段已被添加。 –