Мне нужно передать данные String от EditTexts
от Fragment
до Activity
, я знаю, что должен использовать interface
.Но у меня все еще та же ошибка (Null Object
).Можете ли вы сказать мне, как это исправить?Вот мой код:
Main Activity
public class IntroActivity extends AppCompatActivity implements fragment_intro_activity_2.OnDataPass {
Button button_intro;
EditText et;
boolean showingFirst;
String wynik;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intro);
button_intro = findViewById(R.id.button_intro);
et = findViewById(R.id.edOperetka);
FullScreencall();
getSupportFragmentManager().beginTransaction().replace(R.id.frame_contrainer_intro,
new fragment_intro_activity_1()).commit();
showingFirst = true;
button_intro.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(showingFirst==true){
getSupportFragmentManager().beginTransaction().replace(R.id.frame_contrainer_intro,
new fragment_intro_activity_2()).commit();
showingFirst = false;
}else {
//
// Toast.makeText(IntroActivity.this, "123123", Toast.LENGTH_SHORT).show();
wynik = et.getText().toString();
onDataPass(wynik);
}
}
});
}
Fragment
public class fragment_intro_activity_2 extends Fragment {
View v;
OnDataPass dataPasser;
public fragment_intro_activity_2() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
v = inflater.inflate(R.layout.fragment_fragment_intro_activity_2, container, false);
return v;
}
public interface OnDataPass {
void onDataPass(String data);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
dataPasser = (OnDataPass) context;
}
public void passData(String data) {
dataPasser.onDataPass(data);
}
}
Logcat
Process: com.example.wynagrodzeniedodatkowe, PID: 32263
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.example.wynagrodzeniedodatkowe.IntroActivity$1.onClick(IntroActivity.java:54
И это 54строка такая: wynik = et.getText().toString();