Привет всем, я, хафидср, я новичок в Kotlin, я не знаю, почему мой Intent не может быть вызван, и когда он заменяется на контекст, все равно ошибка, я использую recylerview во фрагменте, но когда я использую Intent во фрагменте, Intent не вызывается
FilmFragment.kt
class FilmFragment : Fragment(){
private lateinit var filmViewModel: FilmViewModel
private lateinit var adapter: MyAdapter
companion object {
@JvmStatic
fun newInstance() =
FilmFragment().apply {
arguments = Bundle().apply {
// putInt(ARG_COLUMN_COUNT, columnCount)
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
// columnCount = it.getInt(ARG_COLUMN_COUNT)
}
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
filmViewModel =
ViewModelProviders.of(this).get(FilmViewModel::class.java)
val root = inflater.inflate(R.layout.fragment_film, container, false)
val linearLayout: LinearLayout = root.findViewById(R.id.linear_home)
filmViewModel.text.observe(viewLifecycleOwner, Observer {
linearLayout.background
})
return root
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
val items = listOf(
Model("Start Wars", "blalalal", R.drawable.film_1),
Model("Conjuring", "Film bla bla", R.drawable.film_1),
Model("Content 03", "Source", R.drawable.film_1),
Model("Content 04", "Source", R.drawable.film_1),
Model("Content 05", "Source", R.drawable.film_1),
Model("Content 06", "Source", R.drawable.film_1),
Model("Content 07", "Source", R.drawable.film_1),
Model("Content 08", "Source", R.drawable.film_1),
Model("Content 09", "Source", R.drawable.film_1),
Model("Content 10", "Source", R.drawable.film_1)
)
adapter = MyAdapter()
adapter.replaceItems(items)
recylerViewFilm.adapter = adapter
}
class MyAdapter : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
private var items = listOf<Model>()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.row_film, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = items[position]
holder.titleTv.text = item.title
holder.descriptionTv.text = item.desc
holder.imageTv.setImageResource(item.image)
holder.itemView.setOnClickListener {
val model = items.get(position)
var gTitle : String = model.title
var gDescription : String = model.desc
var gImageView : Int = model.image
val intent = Intent(this, AnotherActivity::class.java)
intent.putExtra("title",item.title)
intent.putExtra("desc",item.desc)
intent.putExtra("image",item.image)
}
}
fun replaceItems(items: List<Model>) {
this.items = items
notifyDataSetChanged()
}
override fun getItemCount(): Int = items.size
inner class ViewHolder(override val containerView: View) :
RecyclerView.ViewHolder(containerView),
LayoutContainer {
}
}
}
, почему мое намерение красное, и когда оно заменяется контекстом, оно все равно получает ошибку
val intent = Intent(this, AnotherActivity::class.java)
intent.putExtra("title",item.title)
intent.putExtra("desc",item.desc)
intent.putExtra("image",item.image)