sangcomz / StickyTimeLine

:book:StickyTimeLine is timeline view for android.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WHEN I INTEGRATE IN FRAGMENT

minvalencia opened this issue · comments

2018-10-12 00:34:33.259 16375-16375/com.kickz.jeasteelpayroll E/AndroidRuntime: at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)
at com.kickz.jeasteelpayroll.TimeAttendanceRepo.getTimeattendanceList(TimeAttendanceRepo.kt:13)

class TimeAttendanceActivity : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val v: View = inflater.inflate(R.layout.activity_timeattendance, container, false)

    val recyclerView = v.findViewById(R.id.recycler_viewtimeattendance) as TimeLineRecyclerView
    recyclerView.layoutManager = LinearLayoutManager(context,
            LinearLayoutManager.VERTICAL,
            false)

    //Get data
    val timeattendanceList = getTimeAttendanceList()

    //Add RecyclerSectionItemDecoration.SectionCallback
    recyclerView.addItemDecoration(getSectionCallback(timeattendanceList))

    //Set Adapter
    recyclerView.adapter = TimeAttendanceAdapter(layoutInflater,
            timeattendanceList,
            R.layout.activity_timeattendancerow)

    return v
}
private fun getTimeAttendanceList(): List<TimeAttendance> = TimeAttendanceRepo().timeattendanceList

//Get SectionCallback method
private fun getSectionCallback(timeattendacelist: List<TimeAttendance>): RecyclerSectionItemDecoration.SectionCallback {
    return object : RecyclerSectionItemDecoration.SectionCallback {
        //In your data, implement a method to determine if this is a section.
        override fun isSection(position: Int): Boolean =
                timeattendacelist[position].debuted != timeattendacelist[position - 1].debuted

        //Implement a method that returns a SectionHeader.
        override fun getSectionHeader(position: Int): SectionInfo? =
                SectionInfo(timeattendacelist[position].debuted, timeattendacelist[position].group)
    }
}

}

class TimeAttendanceAdapter(private val layoutInflater: LayoutInflater,
private val timeattendancelist: List,
@param:LayoutRes private val rowLayout: Int) : RecyclerView.Adapter<TimeAttendanceAdapter.ViewHolder>() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
    val v = layoutInflater.inflate(rowLayout,
            parent,
            false)
    return ViewHolder(v)
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val timeattendance = timeattendancelist[position]
    holder.timein.text = timeattendance.timein
    holder.timeout.text = timeattendance.timeout
    holder.totaltime.text = timeattendance.totaltime
}

override fun getItemCount(): Int = timeattendancelist.size

class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
    val timein: TextView = view.findViewById<View>(R.id.timein) as TextView
    val timeout: TextView = view.findViewById<View>(R.id.timeout) as TextView
    val totaltime: TextView = view.findViewById<View>(R.id.totaltime) as TextView

}

}

class TimeAttendanceRepo {
//solo
val timeattendanceList: List
get() {
val timeAttendancelist = ArrayList()
timeAttendancelist.add(TimeAttendance("October 1, 2018", "Monday", "Time In: 8:00am", "Time Out: 5:00pm", "Total Time: 8"))
timeAttendancelist.add(TimeAttendance("October 2, 2018", "Tuesday", "Time In: 8:00am", "Time Out:5:00pm", "Total Time: 8"))
timeAttendancelist.add(TimeAttendance("October 3, 2018", "Wednesday", "Time In: 8:00am", "Time Out:5:00pm", "Total Time: 8"))
timeAttendancelist.add(TimeAttendance("October 4, 2018", "Thursday", "Time In: 8:00am", "Time Out:5:00pm","Total Time: 8"))
timeAttendancelist.add(TimeAttendance("October 5, 2018", "Friday", "Time In: 8:00am", "Time Out:5:00pm","Total Time: 8"))
return timeattendanceList
}
}