So we try to write the strings we get from an fragment to save in an array and to set the text from this array in a textview from another fragment but if you try the application kills himself:
public View onCreateView(final LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_timetable, container, false);
myTL = view.findViewById(R.id.tableLayoutTage);
MO1 = view.findViewById(R.id.MO1);
VGMO1 = view.findViewById(R.id.MO1);
DI1 = view.findViewById(R.id.DI1);
DI1 = view.findViewById(R.id.DI1);
FachMO1 = (TextView) VGMO1.findViewById(R.id.textViewFach);
LehrerMO1 = (TextView) VGMO1.findViewById(R.id.textViewLehrer);
RaumMO1 = (TextView) VGMO1.findViewById(R.id.textViewRaum);
FachDI1 = (TextView) DI1.findViewById(R.id.textViewFach);
stundeZuweisen = new StundeZuweisen();
DI1.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
String a = Montag1[0];
String b = Montag1[1];
String c = Montag1[2];
schreibeInTV(a, b, c);
return true;
}
});
VGMO1.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
String ViewID = getResources().getResourceName(view.getId());
IDfinal = cutID(ViewID);
Log.d(TAG, "" + IDfinal);
Intent intent = new Intent(getActivity(), StundeZuweisen.class);
intent.putExtra("ViewID", IDfinal);
startActivity(intent);
return true;
}
});
//arrayToString();
return view;
}
private void arrayToString() {
a = Montag1[1];
b = Montag1[2];
c = Montag1[0];
Log.d(TAG, "" + a + b);
}
public String cutID(String longID) {
if (longID.length() == 3) {
return longID;
} else if (longID.length() > 3) {
return longID.substring(longID.length() - 3);
}
return longID;
}
public void setzeTextViewFachMO1() {
FachMO1.setText(stundeZuweisen.getFachSpinnerText());
}
public void schreibeInArray(String Stunde) {
FachMO1.setText(Stunde);
}
public void schreibeInTV(String a, String b, String c) {
FachMO1.setText(a);
LehrerMO1.setText(b);
RaumMO1.setText(c);
String FachMO1Test = FachMO1.getText().toString();
Log.d(TAG, "schreibeInTV: korrekt" + FachMO1Test);
}
}
And we get this error
06-29 08:27:35.233 6311-6311/com.example.jannikokan.timetable E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.jannikokan.timetable, PID: 6311 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at com.example.jannikokan.timetable.Table.TimeTableFragment.schreibeInTV(TimeTableFragment.java:210) at com.example.jannikokan.timetable.Table.TimeTableFragment$1.onLongClick(TimeTableFragment.java:154) at android.view.View.performLongClickInternal(View.java:6374) at android.view.View.performLongClick(View.java:6332) at android.view.View.performLongClick(View.java:6350) at android.view.View$CheckForLongPress.run(View.java:24895) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:101) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7425) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
Can someone help us slove our problem? Thank you