Skip to content

Commit

Permalink
Find course fragment #9
Browse files Browse the repository at this point in the history
Added custom item listview to find course fragment.
  • Loading branch information
r5hej committed Apr 12, 2018
1 parent 178e7ef commit fff34b8
Show file tree
Hide file tree
Showing 10 changed files with 297 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package dk.aau.sw805f18.ar.common.adapters;


import android.content.Context;
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.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

import dk.aau.sw805f18.ar.R;
import dk.aau.sw805f18.ar.models.FindCourseItem;

public class FindCourseListItemAdapter extends ArrayAdapter<FindCourseItem> {
private Context mContext;
private ArrayList<FindCourseItem> mValues;

public FindCourseListItemAdapter(Context context, ArrayList<FindCourseItem> values) {
super(context, -1, values);
mContext = context;
mValues = values;
}

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.list_item_find_course, parent, false);

TextView name = rowView.findViewById(R.id.find_course_list_item_name_textview);
TextView players = rowView.findViewById(R.id.find_course_list_item_players_count_textview);
TextView age = rowView.findViewById(R.id.find_course_list_item_age_textview);
TextView distance = rowView.findViewById(R.id.find_course_list_item_distance_textview);

name.setText(mValues.get(position).getName());
players.setText(String.valueOf(mValues.get(position).getPlayer()));
age.setText(String.valueOf(mValues.get(position).getAge()));
distance.setText(String.valueOf(mValues.get(position).getDistance()));

return rowView;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import java.util.ArrayList;
Expand All @@ -30,7 +29,7 @@ public ViewHolder(TextView v) {
@Override
public RecyclerViewAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
TextView v = (TextView) LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_course, parent, false);
.inflate(R.layout.list_item_find_course, parent, false);


ViewHolder vh = new ViewHolder(v);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;

import java.util.ArrayList;

import dk.aau.sw805f18.ar.R;
import dk.aau.sw805f18.ar.common.adapters.FindCourseListItemAdapter;
import dk.aau.sw805f18.ar.models.FindCourseItem;


public class FindCourseFragment extends Fragment {
Expand All @@ -35,7 +38,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
R.array.find_course_distance_spinner_array,
android.R.layout.simple_spinner_item);

distanceAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
distanceAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
distance.setAdapter(distanceAdapter);

ArrayAdapter<CharSequence> ageAdapter = ArrayAdapter.createFromResource(getContext(),
Expand All @@ -51,6 +54,11 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat

typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
type.setAdapter(typeAdapter);


ListView lv = getView().findViewById(R.id.find_course_listview);
FindCourseListItemAdapter lvAdapter = new FindCourseListItemAdapter(getContext(), getCourseItems());
lv.setAdapter(lvAdapter);
}

private ArrayList<String> getTypeItems() {
Expand All @@ -62,4 +70,12 @@ private ArrayList<String> getTypeItems() {

return typeArray;
}

private ArrayList<FindCourseItem> getCourseItems() {
ArrayList<FindCourseItem> courseArray = new ArrayList<>();
courseArray.add(new FindCourseItem("Horror map", 7, 14, 3.14));
courseArray.add(new FindCourseItem("Christmas map", 32, 18, 13.14));
courseArray.add(new FindCourseItem("ALL YEAR LONG! map", 102, 5, 12.08));
return courseArray;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package dk.aau.sw805f18.ar.models;


public class FindCourseItem {
private String mName;
private int mPlayer, mAge;
private double mDistance;

public FindCourseItem(String name, int player, int age, double distance) {
this.mName = name;
this.mPlayer = player;
this.mAge = age;
this.mDistance = distance;
}

public String getName() {
return mName;
}

public void setName(String name) {
this.mName = name;
}

public int getPlayer() {
return mPlayer;
}

public void setPlayer(int player) {
this.mPlayer = player;
}

public int getAge() {
return mAge;
}

public void setAge(int age) {
this.mAge = age;
}

public double getDistance() {
return mDistance;
}

public void setDistance(double distance) {
this.mDistance = distance;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z"/>
</vector>
Original file line number Diff line number Diff line change
Expand Up @@ -6,68 +6,56 @@
android:layout_height="match_parent">

<SearchView
android:id="@+id/searchView"
android:id="@+id/find_course_searchview"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="32dp"
android:background="@color/grey_1"
android:iconifiedByDefault="false"
android:queryHint="Moooojn"
android:queryHint="@string/find_course_search_hint"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />


<ListView
android:id="@+id/listView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toTopOf="@+id/find_course_divider1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/find_course_age_spinner"
app:layout_constraintVertical_bias="1.0" />

<Spinner
android:id="@+id/find_course_distance_spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
app:layout_constraintBottom_toTopOf="@+id/find_course_listview"
app:layout_constraintEnd_toStartOf="@+id/find_course_type_spinner"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/searchView" />
app:layout_constraintTop_toBottomOf="@+id/find_course_label_distance" />

<Spinner
android:id="@+id/find_course_type_spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
app:layout_constraintBottom_toTopOf="@+id/find_course_listview"
app:layout_constraintEnd_toStartOf="@+id/find_course_age_spinner"
app:layout_constraintStart_toEndOf="@+id/find_course_distance_spinner"
app:layout_constraintTop_toBottomOf="@+id/searchView" />
app:layout_constraintTop_toBottomOf="@+id/find_course_label_type" />

<Spinner
android:id="@+id/find_course_age_spinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
app:layout_constraintBottom_toTopOf="@+id/find_course_listview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/find_course_type_spinner"
app:layout_constraintTop_toBottomOf="@+id/searchView" />
app:layout_constraintTop_toBottomOf="@+id/find_course_label_age" />

<View
android:id="@+id/find_course_divider1"
Expand All @@ -83,19 +71,72 @@
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginStart="8dp"
android:hint="hint"
android:hint="@string/find_course_join_by_code_hint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/find_course_join_by_code_button"
app:layout_constraintStart_toStartOf="parent" />

<Button
android:id="@+id/find_course_join_by_code_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:layout_marginBottom="16dp"
android:layout_marginEnd="8dp"
android:text="Button"
android:layout_marginTop="16dp"
android:drawableBottom="@drawable/ic_send_black_24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/find_course_listview" />

<ListView
android:id="@+id/find_course_listview"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:divider="@color/white"
android:dividerHeight="5sp"
app:layout_constraintBottom_toTopOf="@+id/find_course_divider1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/find_course_distance_spinner" />

<TextView
android:id="@+id/find_course_label_distance"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/find_course_label_distance_text"
app:layout_constraintEnd_toStartOf="@+id/find_course_label_type"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/find_course_searchview" />

<TextView
android:id="@+id/find_course_label_type"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/find_course_label_type_text"
app:layout_constraintEnd_toStartOf="@+id/find_course_label_age"
app:layout_constraintStart_toEndOf="@+id/find_course_label_distance"
app:layout_constraintTop_toBottomOf="@+id/find_course_searchview" />

<TextView
android:id="@+id/find_course_label_age"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="@string/find_course_label_age_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/find_course_label_type"
app:layout_constraintTop_toBottomOf="@+id/find_course_searchview" />

</android.support.constraint.ConstraintLayout>

This file was deleted.

Loading

0 comments on commit fff34b8

Please sign in to comment.