Привет всем, у меня есть проблема с созданием "Grid Layout" внутри 'Recyclerview' ..
при первом, я хочу создать временной интервал Like This , но внутри Custom Dialog с помощью RecyclerView .. SO
1 / У меня есть фрагмент, в этом фрагменте я создаю кнопку, я хочу, чтобы при нажатии кнопки появилось диалоговое окно. Появляется
2 / Поэтому я создаю функцию для настраиваемого диалогового окна. (Я также создаю пользовательский макет) .. [ЗАМЕЧАНИЕ: мое диалоговое окно работает без кода recyclerView]
3 / И я создаю recyclerView для временного интервала [ПРИМЕЧАНИЕ: Работа recyclerView внутри другого действия дает мне результат]
НО
4 / когда я хочу создать этот RecyclerView внутри Dialog, он выдает ошибку
(E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
)
это функция для пользовательского Диалог
public void DialogTime() {
final AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
View mView = getLayoutInflater().inflate(R.layout.dialog_apointment_time, null);
final Button btnOk = (Button) mView.findViewById(R.id.okb2);
final Button btnCancle = (Button) mView.findViewById(R.id.cansleb2);
alert.setView(mView);
final AlertDialog alertDialog = alert.create();
alertDialog.setCanceledOnTouchOutside(false);
/////////////recyclerview////////
RecyclerView dataList;
List<String> titles;
Adapter adapter;
dataList = view.findViewById(R.id.dataList);
titles = new ArrayList<>();
int start=3;
int end=6;
int n=15;
int resultOfCount=60/n;
int resultOfHour=end-start;
int totalResult=resultOfCount*resultOfHour;
int m=0; //mint akana
//hamu au maw3idanay ka la start bo end hayaty
for(int i=0 ;i<totalResult; i++) {
if(m>45) {
start ++;
m=0;
}
if(m==0){
titles.add(Integer.toString(start) +":"+"0"+Integer.toString(m) );
System.out.println(Integer.toString(start) +":0"+Integer.toString(m));
}
else {
titles.add(Integer.toString(start) +":"+Integer.toString(m) );
System.out.println(Integer.toString(start) +":"+Integer.toString(m));
}
m = m + n;
}
adapter = new Adapter(getActivity(),titles);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(),5,GridLayoutManager.VERTICAL,false);
dataList.setLayoutManager(gridLayoutManager);
dataList.setAdapter(adapter);
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "ok", Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
}
});
btnCancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "cancle", Toast.LENGTH_SHORT).show();
alertDialog.dismiss();
}
});
alertDialog.show();
}
Ошибка нахождения в этой строке (dataList.setLayoutManager(gridLayoutManager);
)