textView에 setText할때 " \n \n "값을 집어 넣고 싶은데 어떻게 해야할까요.
split = allText.split("\n");
이런 식으로 allText를 나눴습니다. allText는
allText = textView.getText().toString();
으로 초기화 하였구요
android:text=" \n \n "
각 텍스트뷰는 다음과 같은 내용이 들어가 있고
EntryFragment에서 Bundle 값을 받아 onActivityCreated()에서 setting 함수를 통해 setText됩니다.
(split[0] +"\n"+ split[1] +"\n"+ split[2] 이런식으로)
그래서 Bundle 값으로 세개다 받아서

이런식으로 들어갑니다.
그런데 만약

위와 같이 두개의 값을 " "으로 받으면 문제가 생깁니다.
builder.setPositiveButton("수정", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
split = allText.split("\n");
Log.d(TAG,"split[0] : "+split[0]+"split[1] : "+split[1]+"split[2] : "+split[2]);
int _id = dbHelper.finditem(date, selectTime);
int selectColor = dbHelper.getColor(_id);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment, EntryFragment.newInstance(_id,date,split[0],split[1],split[2],selectColor));
fragmentTransaction.commit();
}
});
여기서 문제가 생기는데
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.administrator.myscheduler2, PID: 13935
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at com.example.administrator.myscheduler2.ScheduleFragment$2.onClick(ScheduleFragment.java:1023)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
다음과 같은 에러메세지가 뜹니다.