0

I would like to display all the registerEventName inside the spinner in order to let the user to select from it. But how to get the data from firebase and display inside the spinner? Hope someone can help me on this.

XML File For example i want to change EditText of eventTitle to spinner.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

    android:id="@+id/createEventLayout"
    >
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="wrap_content">
            <LinearLayout
                android:layout_width="match_parent"
                android:weightSum="10"
                android:background="#89bcd4"
                android:padding="10dp"
                android:layout_height="wrap_content">
                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="4"
                    android:text="Title of event"
                    android:layout_height="wrap_content" />
                <EditText
                    android:id="@+id/eventTitle"
                    android:layout_width="0dp"
                    android:inputType="text"
                    android:maxLines="1"
                    android:lines="1"
                    android:layout_weight="6"
                    android:imeOptions="actionNext"
                    android:layout_height="wrap_content" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:weightSum="10"
                android:background="#dce2e6"
                android:padding="10dp"
                android:layout_height="wrap_content">
                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="4"
                    android:text="@string/createEventDesc"
                    android:layout_height="wrap_content" />
                <EditText
                    android:id="@+id/eventDes"
                    android:layout_width="0dp"
                    android:layout_weight="6"
                    android:lines="1"
                    android:inputType="text"
                    android:maxLines="1"
                    android:imeOptions="actionNext"
                    android:layout_height="wrap_content" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:weightSum="10"
                android:background="#89bcd4"
                android:padding="10dp"
                android:layout_height="wrap_content">
                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="4"
                    android:text="@string/createEventLocation"
                    android:layout_height="wrap_content" />
                <EditText
                    android:maxLines="1"
                    android:lines="1"
                    android:id="@+id/eventLocation"
                    android:layout_width="0dp"
                    android:layout_weight="6"
                    android:inputType="text"
                    android:imeOptions="actionNext"
                    android:layout_height="wrap_content" />

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:weightSum="10"
                android:background="#dce2e6"
                android:padding="10dp"
                android:layout_height="wrap_content">
                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="4"
                    android:text="Employee email"
                    android:layout_height="wrap_content" />
                <EditText
                    android:id="@+id/eventAttendee"
                    android:layout_width="0dp"
                    android:layout_weight="6"
                    android:hint="Place more attendee by comma seprated"
                    android:maxLines="1"
                    android:lines="1"
                    android:inputType="textEmailAddress"

                    android:imeOptions="actionNext"

                    android:layout_height="wrap_content" />

            </LinearLayout>

            <LinearLayout
                android:orientation="horizontal"
                android:layout_width="match_parent"
                android:background="#89bcd4"
                android:padding="10dp"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/startAt"

                    android:layout_width="0dp"
                    android:layout_weight="3"
                    android:text="@string/createEventStart"
                    android:layout_height="wrap_content" />
                <LinearLayout
                    android:orientation="vertical"

                    android:layout_width="0dp"
                    android:layout_weight="7"
                    android:layout_height="wrap_content">
                    <DatePicker
                        android:id="@+id/startDate"
                        android:layout_width="wrap_content"
                        android:calendarViewShown="false"
                        android:datePickerMode="spinner"
                        android:layout_weight="4"

                        android:layout_height="wrap_content" />
                    <TimePicker
                        android:id="@+id/startTime"
                        android:layout_width="wrap_content"
                        android:layout_weight="4"
                        android:timePickerMode="spinner"
                        android:layout_height="wrap_content" />
                </LinearLayout>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:orientation="horizontal"
                android:background="#dce2e6"
                android:padding="10dp"
                android:layout_height="wrap_content">
                <TextView
                    android:id="@+id/endAt"
                    android:layout_width="0dp"
                    android:layout_weight="3"
                    android:text="@string/createEventEnd"
                    android:layout_height="wrap_content" />
                <LinearLayout
                    android:layout_width="0dp"
                    android:orientation="vertical"
                    android:layout_weight="7"
                    android:layout_height="wrap_content">
                    <DatePicker
                        android:id="@+id/endDate"
                        android:layout_width="wrap_content"
                        android:calendarViewShown="false"
                        android:datePickerMode="spinner"
                        android:layout_height="wrap_content" />
                    <TimePicker
                        android:id="@+id/endTime"
                        android:timePickerMode="spinner"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:layout_width="match_parent"
                android:weightSum="10"
                android:background="#89bcd4"
                android:padding="10dp"
                android:layout_height="wrap_content">

                <Button
                    android:maxLines="1"
                    android:id="@+id/createEvent"
                    android:layout_width="0dp"
                    android:layout_weight="5"
                    android:text="Create Event"
                    android:layout_height="wrap_content" />

                <Button
                    android:id="@+id/cancelEvent"
                    android:layout_width="0dp"
                    android:layout_weight="5"
                    android:text="Cancel"
                    android:layout_height="wrap_content" />

            </LinearLayout>
        </LinearLayout>


    </ScrollView>
</LinearLayout>

Event List Adapter Java File

package com.example.edward.neweventmanagementsystem.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.Spinner;
import android.widget.TextView;

import com.example.edward.neweventmanagementsystem.R;
import com.example.edward.neweventmanagementsystem.Model.ScheduledEvents;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Khushvinders on 21-Oct-16.
 */

public class EventListAdapter extends BaseAdapter {
    private Context context;
    private List<ScheduledEvents> scheduledEvents;
    private LayoutInflater inflater;
    FirebaseDatabase database;
   public EventListAdapter(Context context, List<ScheduledEvents> scheduledEvents){
        this.context = context;
        this.scheduledEvents = scheduledEvents;
        inflater = LayoutInflater.from(this.context);
    }

    @Override
    public int getCount() {
        return scheduledEvents.size();
    }

    @Override
    public Object getItem(int i) {
        return scheduledEvents.get(i);
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        EventHolder eventHolder;

        if (convertView == null) {
            convertView = inflater.inflate(R.layout.event_view_layout, parent, false);
            eventHolder = new EventHolder(convertView);
            convertView.setTag(eventHolder);
        } else {
            eventHolder = (EventHolder) convertView.getTag();
        }
        ScheduledEvents scheduledEvents = (ScheduledEvents) getItem(position);
        eventHolder.eventTitle.setText(scheduledEvents.getEventSummery());
        eventHolder.eventDes.setText(scheduledEvents.getDescription());
        eventHolder.eventAttendee.setText(scheduledEvents.getAttendees());
        eventHolder.eventStart.setText(scheduledEvents.getStartDate());
        eventHolder.eventEnd.setText(scheduledEvents.getEndDate());
        eventHolder.eventLocation.setText(scheduledEvents.getLocation());

        return convertView;
    }
    private class EventHolder {
        TextView eventDes, eventAttendee, eventStart, eventEnd, eventLocation, eventTitle;

        public EventHolder(View item) {
            eventTitle = (TextView) item.findViewById(R.id.eventTitle);
            eventDes = (TextView) item.findViewById(R.id.eventDes);
            eventAttendee = (TextView) item.findViewById(R.id.eventAttendee);
            eventStart = (TextView) item.findViewById(R.id.eventStart);
            eventEnd = (TextView) item.findViewById(R.id.eventEnd);
            eventLocation = (TextView) item.findViewById(R.id.eventLocation);


        }
    }
}

Sample of firebase database

Martin Zeitler
  • 1
  • 19
  • 155
  • 216
MAN CHUN LIEW
  • 49
  • 1
  • 9

0 Answers0