From 825e1f093d903e3f8d9c5161f059df85794bafca Mon Sep 17 00:00:00 2001 From: darshanxyz <darshanxyz@gmail.com> Date: Sat, 22 Apr 2017 16:57:38 +0530 Subject: [PATCH] Added ListView for displaying OD_List in TeacherActivity.java --- .../odsystem/CustomListAdapter.java | 72 +++++++++++++++++++ .../darshanbshah/odsystem/DataProvider.java | 21 ++++++ .../odsystem/TeacherActivity.java | 17 ++++- app/src/main/res/layout/activity_teacher.xml | 39 +++++----- app/src/main/res/layout/list_item.xml | 11 +++ 5 files changed, 142 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/com/darshanbshah/odsystem/CustomListAdapter.java create mode 100644 app/src/main/java/com/darshanbshah/odsystem/DataProvider.java create mode 100644 app/src/main/res/layout/list_item.xml diff --git a/app/src/main/java/com/darshanbshah/odsystem/CustomListAdapter.java b/app/src/main/java/com/darshanbshah/odsystem/CustomListAdapter.java new file mode 100644 index 0000000..1e5e9d6 --- /dev/null +++ b/app/src/main/java/com/darshanbshah/odsystem/CustomListAdapter.java @@ -0,0 +1,72 @@ +package com.darshanbshah.odsystem; + +/** + * Created by iamDarshan on 22/04/17. + */ +import android.content.Context; +import android.graphics.Typeface; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.List; + +public class CustomListAdapter extends ArrayAdapter { + + + static class DataHandler { + TextView tv; + } + + List list = new ArrayList(); + public CustomListAdapter(Context context, int resource) { + super(context, resource); + } + + @Override + public void add(Object object) { + super.add(object); + list.add(object); + } + + @Override + public int getCount() { + return this.list.size(); + } + + @Nullable + @Override + public Object getItem(int position) { + return this.list.get(position); + } + + @NonNull + @Override + public View getView(int position, View convertView, ViewGroup parent) { + View row; + row = convertView; + DataHandler handler; + if (convertView == null) { + LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); + row = inflater.inflate(R.layout.list_item, parent, false); + handler = new DataHandler(); + handler.tv = (TextView)row.findViewById(R.id.listText); + row.setTag(handler); + } + else { + handler = (DataHandler) row.getTag(); + } + +// Typeface one = Typeface.createFromAsset(parent.getContext().getAssets(), "fonts/BebasNeue Bold.ttf"); + DataProvider provider = (DataProvider) this.getItem(position); + handler.tv.setText(provider.getDetector()); +// handler.tv.setTypeface(one); + handler.tv.setTextSize(30); + return row; + } +} diff --git a/app/src/main/java/com/darshanbshah/odsystem/DataProvider.java b/app/src/main/java/com/darshanbshah/odsystem/DataProvider.java new file mode 100644 index 0000000..1385d50 --- /dev/null +++ b/app/src/main/java/com/darshanbshah/odsystem/DataProvider.java @@ -0,0 +1,21 @@ +package com.darshanbshah.odsystem; + +/** + * Created by iamDarshan on 22/04/17. + */ + +public class DataProvider { + private String detector; + + public DataProvider(String detector) { + this.setDetector(detector); + } + + public String getDetector() { + return detector; + } + + public void setDetector(String detector) { + this.detector = detector; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/darshanbshah/odsystem/TeacherActivity.java b/app/src/main/java/com/darshanbshah/odsystem/TeacherActivity.java index b4e66f5..2c1b3af 100644 --- a/app/src/main/java/com/darshanbshah/odsystem/TeacherActivity.java +++ b/app/src/main/java/com/darshanbshah/odsystem/TeacherActivity.java @@ -5,6 +5,7 @@ import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; +import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; @@ -30,10 +31,13 @@ public class TeacherActivity extends AppCompatActivity { DatabaseReference adv; DatabaseReference student; - TextView t; List<String> uid_list = new ArrayList<String>(); HashMap<String, String> uid_map = new HashMap<String, String>(); + ListView listView; + + CustomListAdapter adapter; + String adv_name; @Override @@ -45,7 +49,7 @@ public class TeacherActivity extends AppCompatActivity { od = root.child("OD"); adv = root.child("Advisors"); student = root.child("Student"); - t = (TextView)findViewById(R.id.textView); + listView = (ListView)findViewById(R.id.listView); adv.addChildEventListener(new ChildEventListener() { @Override @@ -91,6 +95,14 @@ public class TeacherActivity extends AppCompatActivity { uid_list.add(data.getKey()); } } + adapter = new CustomListAdapter(getApplicationContext(), R.layout.list_item); + listView.setAdapter(adapter); + + Log.e("UIDLIST_SIZE", String.valueOf(uid_list.size())); + for (String value: uid_list) { + DataProvider provider = new DataProvider(value); + adapter.add(provider); + } } @Override @@ -146,6 +158,7 @@ public class TeacherActivity extends AppCompatActivity { } }); + } public void signOut(View view) { diff --git a/app/src/main/res/layout/activity_teacher.xml b/app/src/main/res/layout/activity_teacher.xml index 3054da5..2212a00 100644 --- a/app/src/main/res/layout/activity_teacher.xml +++ b/app/src/main/res/layout/activity_teacher.xml @@ -4,28 +4,35 @@ android:id="@+id/activity_teacher" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingBottom="@dimen/activity_vertical_margin" - android:paddingLeft="@dimen/activity_horizontal_margin" - android:paddingRight="@dimen/activity_horizontal_margin" - android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.darshanbshah.odsystem.TeacherActivity"> <Button android:text="Logout" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentTop="true" - android:layout_centerHorizontal="true" - android:layout_marginTop="181dp" android:id="@+id/button2" - android:onClick="signOut" /> - - <TextView - android:text="TextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:onClick="signOut" android:layout_alignParentTop="true" - android:layout_centerHorizontal="true" - android:layout_marginTop="64dp" - android:id="@+id/textView" /> + android:layout_alignParentEnd="true" /> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_below="@+id/button2" + android:layout_alignParentStart="true"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <ListView + android:layout_width="match_parent" + android:layout_height="800dp" + android:id="@+id/listView"> + + </ListView> + + </LinearLayout> + </ScrollView> </RelativeLayout> diff --git a/app/src/main/res/layout/list_item.xml b/app/src/main/res/layout/list_item.xml new file mode 100644 index 0000000..86835e0 --- /dev/null +++ b/app/src/main/res/layout/list_item.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="match_parent" + android:layout_height="match_parent"> + + <TextView + android:id="@+id/listText" + android:layout_width="match_parent" + android:layout_height="100dp" /> + +</LinearLayout> \ No newline at end of file -- GitLab