Commit b7139260 by german

Añadida nueva clase como adapter para las listas de alumnos y supervisores del login.

Añadido layout para los items de esas listas.
Funciones para crear las listas. (No funciona del todo bien)
parent e9fb5c5e
package com.yottacode.pictogram.tabletlibrary.gui;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.yottacode.pictogram.tabletlibrary.R;
import java.util.Vector;
/**
* Created by german on 20/12/2016.
*/
public class CustomListLogin extends ArrayAdapter<String>{
private final Activity context;
private final String[] name;
private final String[] surname;
private final String[] password;
private final Vector<Bitmap> photos;
public CustomListLogin(Activity context, String []name, String []surname, String []password, Vector<Bitmap> photos) {
super(context,R.layout.user_login_item, name);
this.context = context;
this.name = name;
this.surname = surname;
this.password = password;
this.photos = photos;
}
@Override
public int getCount() {
if(name.length>0)
return name.length;
return 0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.user_login_item, null, true);
TextView txtName = (TextView) rowView.findViewById(R.id.label_name);
txtName.setText(name[position]);
TextView txtSurname = (TextView) rowView.findViewById(R.id.label_surname);
txtSurname.setText(surname[position]);
ImageView imageView = (ImageView) rowView.findViewById(R.id.photo);
//imageView.setImageResource(R.drawable.user);
if (photos.size()>0) imageView.setImageBitmap(photos.elementAt(position));
else imageView.setImageResource(R.drawable.anonymous_student);
return rowView;
}
}
......@@ -4,10 +4,9 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
......@@ -16,12 +15,20 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import com.yottacode.pictogram.dao.User;
import com.yottacode.pictogram.dao.UserLogin;
import com.yottacode.pictogram.tabletlibrary.R;
import com.yottacode.pictogram.tabletlibrary.net.NetServiceTablet;
import com.yottacode.pictogram.tools.Img;
import com.yottacode.pictogram.tools.PCBcontext;
import org.json.JSONException;
import java.io.IOException;
import java.util.Vector;
/**
* A login screen that offers login via email/password.
......@@ -55,6 +62,84 @@ public class SerialActivity extends Activity {
return new String[]{username,password};
}
private void createListSup(){
Vector<User> users = new Vector<>();
Vector<User> supUsers = new Vector<>();
try {
users = PCBcontext.getDevice().getUsers();
} catch (JSONException e) {
e.printStackTrace();
}
//Rellenar la lista con solo usuarios supervisor
if(!users.isEmpty()){
for(User user: users){
if(user.is_supervisor()){
supUsers.add(user);
}
}
}
if(!supUsers.isEmpty()){
String []nameSup = new String[supUsers.size()];
String []surnameSup = new String[supUsers.size()];
String []passwSup = new String[supUsers.size()];
Vector<Bitmap> photoSup = new Vector<>(supUsers.size());
for(int i=0;i<supUsers.size();i++){
nameSup[i]=users.elementAt(i).get_name_sup();
surnameSup[i]=users.elementAt(i).get_surname_sup();
passwSup[i]=users.elementAt(i).get_pwd_sup();
try {
photoSup.add(users.elementAt(i).get_bitmap_sup(this.getBaseContext()));
} catch (IOException e) {
e.printStackTrace();
}
}
CustomListLogin adapterSup = new CustomListLogin(this,nameSup,surnameSup,passwSup,photoSup);
ListView listaSup = (ListView) findViewById(R.id.supList);
listaSup.setAdapter(adapterSup);
}
}
private void createListStu(){
Vector<User> users = new Vector<>();
Vector<User> stuUsers = new Vector<>();
try {
users = PCBcontext.getDevice().getUsers();
} catch (JSONException e) {
e.printStackTrace();
}
//Rellenar la lista con solo usuarios supervisor
if(!users.isEmpty()){
for(User user: users){
if(!user.is_supervisor()){
stuUsers.add(user);
}
}
}
if(!stuUsers.isEmpty()){
String []nameStu = new String[stuUsers.size()];
String []surnameStu = new String[stuUsers.size()];
String []passwStu = new String[stuUsers.size()];
Vector<Bitmap> photoStu = new Vector<>(stuUsers.size());
for(int i=0;i<stuUsers.size();i++){
nameStu[i]=users.elementAt(i).get_name_stu();
surnameStu[i]=users.elementAt(i).get_surname_stu();
passwStu[i]=users.elementAt(i).get_pwd_stu();
try {
photoStu.add(users.elementAt(i).get_bitmap_stu(this.getBaseContext()));
} catch (IOException e) {
e.printStackTrace();
}
}
CustomListLogin adapterStu = new CustomListLogin(this,nameStu,surnameStu,passwStu,photoStu);
ListView listaStu = (ListView) findViewById(R.id.stuList);
listaStu.setAdapter(adapterStu);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -124,6 +209,8 @@ public class SerialActivity extends Activity {
}
});
createListSup();
createListStu();
// Escribo el último valor indicado de username
mSerialViewMail.setText(username);
......
......@@ -71,7 +71,7 @@
android:orientation="vertical"
android:layout_height="350px"
android:layout_marginStart="67dp"
android:background="@color/darkred"
android:background="@color/common_plus_signin_btn_text_dark_pressed"
android:layout_width="400px"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
......@@ -85,18 +85,20 @@
android:text="@string/alumnos"
android:textAlignment="center"
android:textSize="18sp"
android:textColor="@android:color/black" />
android:textColor="@android:color/black"
android:background="@color/common_plus_signin_btn_text_light_disabled" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/stuList" />
android:id="@+id/stuList"
android:divider="@color/common_google_signin_btn_text_dark_disabled"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:background="@color/blue"
android:background="@color/common_google_signin_btn_text_dark_default"
android:layout_height="350px"
android:layout_width="400px"
android:layout_alignParentBottom="true"
......@@ -112,12 +114,14 @@
android:text="@string/supervisores"
android:textAlignment="center"
android:textSize="18sp"
android:textColor="@android:color/black" />
android:textColor="@android:color/black"
android:background="@color/common_plus_signin_btn_text_light_disabled" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/supList" />
android:id="@+id/supList"
android:divider="@color/common_google_signin_btn_text_dark_disabled"/>
</LinearLayout>
</RelativeLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/common_plus_signin_btn_text_dark_disabled">
<TextView
android:text="Nombre"
android:layout_height="wrap_content"
android:id="@+id/label_name"
android:layout_weight="0.15"
android:textSize="18sp"
android:textColor="@android:color/black"
android:layout_alignTop="@+id/photo"
android:layout_toEndOf="@+id/photo"
android:layout_width="250dp"
android:layout_marginStart="15dp" />
<TextView
android:text="Apellidos"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:id="@+id/label_surname"
android:textSize="18sp"
android:textAlignment="textStart"
android:textColor="@android:color/black"
android:layout_alignBottom="@+id/photo"
android:layout_toEndOf="@+id/photo"
android:layout_marginStart="15dp" />
<ImageView
app:srcCompat="@drawable/anonymous_student"
android:id="@+id/photo"
android:layout_weight="0.15"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment