السلام عليكم ورحمة الله وبركاته, في تطبيقي لدي Bottom Sheet Fragment وفي داخلها لدي اثنين من نوع Fragments وفي واحده منهما يوجد لدي recycler view وفي داخلها Button, فعندما يستخدم المستخدم هذا الزر اريد من الزر ان يرسل text view من نوع Title من الـ Fragment الاولى الى الـ Fragment الاخرى وايضا الزر يفتح الfragment الاخرى.
الذي اريدة هو
فتح fragment عن طريق button موجود في recycler view داخل الـ Fragment الاولى
عندما يتم فتح الـ Fragment أريد ان ارسل لها العنوان المتواجد في recycler view
## حاولت استخدام فكرة الـ Transaction بين الـ Fragments لكن لم أعرف كيف اطبقها بشكل جيد !!
أتمنى ان اكون وفقت في شرح سؤالي بأفضل طريقة ممكنه.. واكون شاكر جدا لمن يجاوب على سؤالي
My recycler view adapter
class tvTitleAdapter (val context:Context,val TITLE_LIST :ArrayList<TvTitlesViewModel>):RecyclerView.Adapter<tvTitleAdapter.ViewHolder>(){
override fun onCreateViewHolder(parent:ViewGroup, viewType:Int):ViewHolder{
val view =LayoutInflater.from(parent.context).inflate(R.layout.tv_titles_design, parent,false)returnViewHolder(view)}
override fun getItemCount():Int{return TITLE_LIST.size
}
override fun onBindViewHolder(holder:ViewHolder, position:Int){
val tvShow:TvTitlesViewModel= TITLE_LIST[position]
holder.titleShow.text = tvShow.title
holder.description.text = tvShow.description
holder.showImage.setImageResource(tvShow.title_image)
holder.tvTitleExpand.setOnClickListener {
holder.description.visibility =View.VISIBLE
holder.showImage.visibility =View.VISIBLE
holder.tvTitleButton.visibility =View.VISIBLE
}
holder.tvTitleButton.setOnClickListener {
when(position){0->{// احتاج ان ارسل العنوان الى الفراقمنت الاخرى اذا امكن ذلك}}}}classViewHolder(Itemview:View):RecyclerView.ViewHolder(Itemview){
val titleShow = itemView.findViewById<TextView>(R.id.tvTitle)
val description = itemView.findViewById<TextView>(R.id.tvDesription)
val showImage = itemView.findViewById<ImageView>(R.id.tvImage)
var tvTitleExpand = itemView.findViewById<CardView>(R.id.tvTitleExpand)
val tvTitleButton = itemView.findViewById<Button>(R.id.tvTitleButton)// this is a button inside a recycler view}}
My fragment
classTvTitlesFragment:Fragment(){
val TV_TITLE :ArrayList<TvTitlesViewModel>=ArrayList()
override fun onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)}
override fun onCreateView(
inflater:LayoutInflater, container:ViewGroup?,
savedInstanceState:Bundle?):View?{// Inflate the layout for this fragmentreturn inflater.inflate(R.layout.fragment_tv_titles, container,false)}
override fun onViewCreated(view:View, savedInstanceState:Bundle?){
super.onViewCreated(view, savedInstanceState)
val adapter = tvTitleAdapter(context!!,TV_TITLE)
tvTitles.layoutManager =LinearLayoutManager(context,RecyclerView.VERTICAL,false)
tvTitles.setHasFixedSize(true)
tvTitles.adapter = adapter
tvShowTitles()}private fun tvShowTitles(){
TV_TITLE.add(TvTitlesViewModel(R.drawable.abdelbasset_abdessamad,"برنامج على مائدة الأفطار","برنامج على مائدة الافطار من تقديم الشيخ علي الطنطاوي رحمه الله, تم بث أول حلقة منه في عام 1960 م واستمر الى عام1992 م"))
TV_TITLE.add(TvTitlesViewModel(R.drawable.abdelbasset_abdessamad,"برنامج على مائدة الأفطار","برنامج على مائدة الافطار من تقديم الشيخ علي الطنطاوي رحمه الله, تم بث أول حلقة منه في عام 1960 م واستمر الى عام1992 م"))
TV_TITLE.add(TvTitlesViewModel(R.drawable.abdelbasset_abdessamad,"برنامج على مائدة الأفطار","برنامج على مائدة الافطار من تقديم الشيخ علي الطنطاوي رحمه الله, تم بث أول حلقة منه في عام 1960 م واستمر الى عام1992 م"))
TV_TITLE.add(TvTitlesViewModel(R.drawable.abdelbasset_abdessamad,"برنامج على مائدة الأفطار","برنامج على مائدة الافطار من تقديم الشيخ علي الطنطاوي رحمه الله, تم بث أول حلقة منه في عام 1960 م واستمر الى عام1992 م"))
TV_TITLE.add(TvTitlesViewModel(R.drawable.abdelbasset_abdessamad,"برنامج على مائدة الأفطار","برنامج على مائدة الافطار من تقديم الشيخ علي الطنطاوي رحمه الله, تم بث أول حلقة منه في عام 1960 م واستمر الى عام1992 م"))
TV_TITLE.add(TvTitlesViewModel(R.drawable.abdelbasset_abdessamad,"برنامج على مائدة الأفطار","برنامج على مائدة الافطار من تقديم الشيخ علي الطنطاوي رحمه الله, تم بث أول حلقة منه في عام 1960 م واستمر الى عام1992 م"))}
هذه صور لتطبيقي
اريد ان اضغط الزر وارسل عنوان البرنامج الى الصورة الفراقمنت بالصورة الثانية( الي فيها زر youtube)
تم التعديل في بواسطة عبدالرحمن العنزي4 تعديل بعض الاملاء
السؤال
عبدالرحمن العنزي4
السلام عليكم ورحمة الله وبركاته, في تطبيقي لدي Bottom Sheet Fragment وفي داخلها لدي اثنين من نوع Fragments وفي واحده منهما يوجد لدي recycler view وفي داخلها Button, فعندما يستخدم المستخدم هذا الزر اريد من الزر ان يرسل text view من نوع Title من الـ Fragment الاولى الى الـ Fragment الاخرى وايضا الزر يفتح الfragment الاخرى.
الذي اريدة هو
## حاولت استخدام فكرة الـ Transaction بين الـ Fragments لكن لم أعرف كيف اطبقها بشكل جيد !!
أتمنى ان اكون وفقت في شرح سؤالي بأفضل طريقة ممكنه.. واكون شاكر جدا لمن يجاوب على سؤالي
My recycler view adapter
My fragment
هذه صور لتطبيقي
اريد ان اضغط الزر وارسل عنوان البرنامج الى الصورة الفراقمنت بالصورة الثانية( الي فيها زر youtube)
تعديل بعض الاملاء
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.