'How to setMarkDown in Android studio?
How can i set markdown edittext in the adapter? What should i write in the holder.markwon.setMarkDown() parameter?..........................................................................................................................................................................................
Adapter.kt
package com.example.noteapp.ui.Adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.view.menu.ActionMenuItemView
import androidx.cardview.widget.CardView
import androidx.navigation.Navigation
import androidx.recyclerview.widget.RecyclerView
import com.example.noteapp.databinding.ItemNotesBinding
import com.example.noteapp.model.Notes
import com.example.noteapp.ui.Fragments.HomeFragment
import com.example.noteapp.ui.Fragments.HomeFragmentDirections
import com.google.android.material.card.MaterialCardView
import io.noties.markwon.AbstractMarkwonPlugin
import io.noties.markwon.Markwon
import io.noties.markwon.MarkwonVisitor
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin
import io.noties.markwon.ext.tasklist.TaskListPlugin
import org.commonmark.node.SoftLineBreak
class NotesAdapter(val requirContext : Context, val notesList : List<Notes>) :
RecyclerView.Adapter<NotesAdapter.notesViewHolder>() {
class notesViewHolder(val binding : ItemNotesBinding) : RecyclerView.ViewHolder(binding.root) {
val content : TextView = binding.notessubtitle
val markwon = Markwon.builder(itemView.context)
.usePlugin(StrikethroughPlugin.create())
.usePlugin(TaskListPlugin.create(itemView.context))
.usePlugin(object : AbstractMarkwonPlugin() {
override fun configureVisitor(builder: MarkwonVisitor.Builder) {
super.configureVisitor(builder)
builder.on(
SoftLineBreak::class.java
){visitor, _, -> visitor.forceNewLine()}
}
})
.build()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): notesViewHolder {
return notesViewHolder(ItemNotesBinding.inflate(LayoutInflater.from(parent.context),parent,
false
)
)
}
override fun onBindViewHolder(holder: notesViewHolder, position: Int) {
val data = notesList[position]
holder.binding.notestitle.text = data.title
holder.binding.notessubtitle.text = data.notes
holder.binding.noteItemLayoutParent.setCardBackgroundColor(data.color)
holder.markwon.setMarkdown()
holder.binding.root.setOnClickListener {
val action = HomeFragmentDirections.actionHomeFragmentToEditnotesFragmemt(data)
Navigation.findNavController(it).navigate(action)
}
}
override fun getItemCount() = notesList.size
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
