Created
August 9, 2019 09:57
-
-
Save SurajBahadur/5ecce254df48aa7ba48fc129f34ec977 to your computer and use it in GitHub Desktop.
Example of populating recycleview with adater data in kotlin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.view.LayoutInflater | |
import android.view.View | |
import android.view.ViewGroup | |
import androidx.recyclerview.widget.RecyclerView | |
import com.app.base.R | |
import com.app.base.bean.DailyModel | |
import kotlinx.android.synthetic.main.item_daily.view.* | |
class DailyAdapter(private val dailyList: ArrayList<DailyModel>) : RecyclerView.Adapter<DailyAdapter.ViewHolder>() { | |
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { | |
val v = LayoutInflater.from(parent.context).inflate(R.layout.item_daily, parent, false) | |
return ViewHolder(v) | |
} | |
override fun getItemCount(): Int { | |
return dailyList.size | |
} | |
override fun onBindViewHolder(holder: ViewHolder, position: Int) { | |
holder.bindItem(dailyList[position]) | |
} | |
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { | |
fun bindItem(model: DailyModel) { | |
itemView.tv_title.text = model.title | |
itemView.tv_time.text = model.time | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.annotation.SuppressLint | |
import android.os.Bundle | |
import android.view.LayoutInflater | |
import android.view.View | |
import android.view.ViewGroup | |
import androidx.lifecycle.ViewModelProviders | |
import androidx.recyclerview.widget.LinearLayoutManager | |
import androidx.recyclerview.widget.RecyclerView | |
import com.app.base.R | |
import com.app.base.base_classes.BaseFragment | |
import com.app.base.bean.DailyModel | |
import com.app.base.ui.dashboard.home.adapter.DailyAdapter | |
import com.app.base.ui.dashboard.home.adapter.LeaderBoardAdapter | |
import kotlinx.android.synthetic.main.home_fragment.* | |
class HomeFragment : BaseFragment() { | |
private lateinit var mDailyAdapter: DailyAdapter | |
private val mDailyList: ArrayList<DailyModel>? = ArrayList() | |
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, | |
savedInstanceState: Bundle?): View? { | |
return inflater.inflate(R.layout.home_fragment, container, false) | |
} | |
@SuppressLint("WrongConstant") | |
override fun onActivityCreated(savedInstanceState: Bundle?) { | |
super.onActivityCreated(savedInstanceState) | |
initAdapters() | |
//adding data to list | |
mDailyList!!.add(DailyModel("Todo 1", "10:30 PM")) | |
mDailyList.add(DailyModel("Todo 2", "5:00 AM")) | |
mDailyList.add(DailyModel("Todo 3", "6:00 AM")) | |
mDailyList.add(DailyModel("Todo 4", "7:00 AM")) | |
mDailyList.add(DailyModel("Todo 5", "2:00 AM")) | |
mDailyList.add(DailyModel("Todo 6", "15:00 AM")) | |
mDailyList.add(DailyModel("Todo 7", "1:00 AM")) | |
//setting data to adapter | |
mDailyAdapter = DailyAdapter(mDailyList) | |
rv_daily_list.adapter = mDailyAdapter | |
} | |
private fun initAdapters() { | |
rv_daily_list.layoutManager = LinearLayoutManager(activity) | |
rv_daily_list.layoutManager = LinearLayoutManager(activity, RecyclerView.VERTICAL, false) | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<com.google.android.material.card.MaterialCardView xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="fill_parent" | |
android:layout_height="wrap_content" | |
card_view:cardElevation="2dp" | |
card_view:rippleColor="#cfd8dc" | |
android:clickable="true" | |
card_view:cardCornerRadius="5dp" | |
card_view:cardUseCompatPadding="true" | |
xmlns:card_view="http://schemas.android.com/apk/res-auto" | |
xmlns:android="http://schemas.android.com/apk/res/android"> | |
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="match_parent" | |
android:layout_height="@dimen/_70sdp" | |
android:background="#FAFAFA" | |
android:orientation="vertical"> | |
<de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" | |
android:id="@+id/profile_image" | |
android:layout_width="@dimen/_30sdp" | |
android:layout_height="@dimen/_30sdp" | |
android:background="@drawable/ic_account" | |
app:civ_border_color="#FF000000" | |
app:civ_border_width="2dp" | |
app:layout_constraintBottom_toBottomOf="parent" | |
app:layout_constraintStart_toStartOf="parent" | |
app:layout_constraintTop_toTopOf="parent" /> | |
<TextView | |
android:id="@+id/tv_title" | |
android:layout_width="0dp" | |
android:layout_height="wrap_content" | |
android:layout_marginStart="8dp" | |
android:text="Ross Taylor" | |
android:textSize="@dimen/_16ssp" | |
app:layout_constraintBottom_toBottomOf="@+id/profile_image" | |
app:layout_constraintEnd_toStartOf="@+id/tv_time" | |
app:layout_constraintHorizontal_bias="1.0" | |
app:layout_constraintStart_toEndOf="@+id/profile_image" | |
app:layout_constraintTop_toTopOf="@+id/profile_image" | |
app:layout_constraintVertical_bias="0.35000002" /> | |
<TextView | |
android:id="@+id/tv_time" | |
android:layout_width="wrap_content" | |
android:layout_height="20dp" | |
android:text="10:30 PM" | |
app:layout_constraintBottom_toBottomOf="@+id/tv_title" | |
app:layout_constraintEnd_toEndOf="parent" | |
app:layout_constraintHorizontal_bias="0.5" | |
app:layout_constraintStart_toEndOf="@+id/tv_title" | |
app:layout_constraintTop_toTopOf="@+id/tv_title" | |
app:layout_constraintVertical_bias="0.0" /> | |
</androidx.constraintlayout.widget.ConstraintLayout> | |
</com.google.android.material.card.MaterialCardView> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment