Ich arbeite an einer App, wo ich zwischen zwei Fragmente kommunizieren muss. Ich weiß, dass die Kommunikation zwischen zwei Fragmenten über eine Schnittstelle erfolgt. Ich habe ein Interface in Fragment 1 erstellt und es in der Aktivität implementiert, aber wenn ich die App starte, stürzt es ab.Fragment zu fragment Kommunikation funktioniert nicht machen java.lang.nullpointerexception
unten ist mein Code
Fragment eines Code
public class Fragment_one extends Fragment {
EditText editText;
Button button;
SendData sd;
@Nullable
@Override
public View onCreateView(final LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view;
view = inflater.inflate(R.layout.fragment_one,container,false);
editText = (EditText)view.findViewById(R.id.editText);
button = (Button)view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String data ;
data = editText.getText().toString();
sd.SendData1(data);
}
});
return view;
}
interface SendData
{
String SendData1(String name);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try{
sd = (SendData)context;
}catch (ClassCastException e){
throw new ClassCastException ("You have to impliment it");
}
}
}
wenn ich die app debuggen, ich weiß, dass sd
null
ist. Aber die Daten werden auf den Text gesetzt.
Kann mir jemand mit diesem Problem helfen
Was ist 'SendData'? –
Setzen Sie einen Haltepunkt innerhalb Ihrer 'onAttach()', und sehen Sie, warum es null ist. –
können Sie eine Schnittstelle verwenden, um mit den Fragmenten zu kommunizieren. –