String teacher_id;
String class_selected;
Spinner period;
String periodno;
ArrayList<String> selectedItems;
ArrayList<String> nonselectedItems;
//Toolbar mToolbar;
ArrayList<String> ul;
ListView listView;
private ArrayAdapter adapter;
ArrayList Userlist = new ArrayList<String>();
ArrayList Usernames = new ArrayList<String>();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
DatabaseReference dbAttendance;
String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_takeattendance);
period = (Spinner) findViewById(R.id.spinner5);
// ArrayList Userlist;
selectedItems = new ArrayList<String>();
TextView classname = (TextView) findViewById(R.id.textView5);
classname.setText("CSE");
//to get class name from teacherlogin
Bundle bundle1 = getIntent().getExtras();
class_selected = bundle1.getString("class_selected");
teacher_id = bundle1.getString("tid");
// Toast.makeText(getApplicationContext(), teacher_id, Toast.LENGTH_LONG).show();
classname.setText(class_selected);
DatabaseReference dbuser = ref.child("Student");
dbuser.orderByChild("classes").equalTo(class_selected).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dsp : dataSnapshot.getChildren()) {
Userlist.add(dsp.child("sid").getValue().toString());
Usernames.add(dsp.child("sname").getValue().toString());
}
OnStart(Userlist);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getApplicationContext(), "something went wrong", Toast.LENGTH_LONG).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void OnStart(ArrayList<String> userlists) {
nonselectedItems = userlists;
ListView chl = (ListView) findViewById(R.id.checklist);
chl.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.checkable_list_layout, R.id.txt_title, userlists);
chl.setAdapter(aa);
chl.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItem = ((TextView) view).getText().toString();
if (selectedItems.contains(selectedItem))
selectedItems.remove(selectedItem);
else
selectedItems.add(selectedItem);
}
});
}
public void showSelectedItems(View view) {
String selItems = "";
periodno = period.getSelectedItem().toString();
if (periodno.equals("Select Period")) {
Toast.makeText(this, "Select a class", Toast.LENGTH_LONG).show();
} else {
ref = FirebaseDatabase.getInstance().getReference();
dbAttendance = ref.child("attendance").child(date);
for (String item : selectedItems) {
Toast.makeText(this, "Attendance created Successfully", Toast.LENGTH_SHORT).show();
nonselectedItems.remove(item);
dbAttendance.child(item).child(periodno).setValue("P" + " / " + teacher_id);
if (selItems == "")
selItems = item;
else
selItems += "/" + item;
}
// Toast.makeText(this, selItems, Toast.LENGTH_LONG).show();
//for making absent
for (String item : nonselectedItems) {
Toast.makeText(this, "Attendance created Successfully", Toast.LENGTH_SHORT).show();
dbAttendance.child(item).child(periodno).setValue("A" + " / " + teacher_id);
//Toast.makeText(this, "absentees:" + nonselectedItems, Toast.LENGTH_LONG).show();
}
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
}
logcat 2020-05-03 18: 14: 36.533 15945-15945 / com.samarthjain.attendancemanager E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.samarthjain.attendancemanager, PID: 15945 java .lang.ClassCastException: androidx.constraintlayout.widget.ConstraintLayout не может быть приведен к android .widget.TextView в com.samarthjain.attendancemanager.takeattendance $ 2.onItemClick (takeattendance. java: 106) в android. .AdapterView.performItemClick (AdapterView. java: 330) в android .widget.AbsListView.performItemClick (AbsListView. java: 1213) в android .widget.AbsListView $ PerformClick.run (AbsListView. java). : 3221) в android .os.Handler.handleCallback (Обработчик. java: 883) в android .os.Handler.dispatchMessage (Обработчик. java: 100) в android .os.Looper. l oop (Looper. java: 214) в android .app.ActivityThread.main (ActivityThread. java: 7403) в java .lang.reflect.Method.invoke (собственный метод) в com . android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 492) в com. android .interna l.os.ZygoteInit.main (. ZygoteInit java: 935) `