Как вызвать фрагмент и отправить данные вместе в структуре фрагмента Android?
В основном я хочу набрать текст из фрагмента1 и отправить текст во фрагмент2, но вместе по нажатию кнопки во фрагменте1 я хочу вызвать фрагмент2 и отобразитьтекст, который я набрал в editext во фрагменте1 одновременно.ниже приведены коды: - fragement1 ---
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootview = inflater.inflate(R.layout.fragment1,container,false);
final EditText edittext= rootview.findViewById(R.id.editText);
Button button= rootview.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
anInterface.interface1(edittext.getText().toString());
Toast.makeText(getActivity(), "just test",
Toast.LENGTH_LONG).show();
}
});
return rootview;
}
MainActivity: ---
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frag1= new Fragment1();
fragmentManager= getSupportFragmentManager();
fragmentTransaction= fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_1,frag1);
fragmentTransaction.commit();
}
@Override
public void interface1(String string) {
frag2 = new Fragment2();
fragmentTransaction= fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_2,frag2);
fragmentTransaction.commit();
frag2.textv(string);
}
фрагмент2: ---
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootview = inflater.inflate(R.layout.fragment2,container,false);
textView= rootview.findViewById(R.id.textView2);
return rootview;
}
public void textv(String string){
textView.setText(string);
}
Ошибка при получении
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
Пока я искал компоновку, которая будет прикреплена, прежде чем вызывать метод textview, и я делал это в основном коде активности, но без успеха
fragmentTransaction.replace(R.id.fragment_2,frag2);
fragmentTransaction.commit();
frag2.textv(string);