WorldofCode Ответов: 1

Помогите мне в этом вопросе


код не работает хорошо .
когда я пытаюсь получить информацию из моего другого фрагмента, он показывает нулевой параметр
я хочу отправить информацию из adapter recyclerview во фрагмент с пакетом, но просто передайте null
это мой код reycyclerview

class RecyclerAdapterMain(val product: ArrayList<modelproductmain>) :
    RecyclerView.Adapter<recycleradaptermain.viewholder>() {


    class ViewHolder(itemview: View) : RecyclerView.ViewHolder(itemview) {


        val title: TextView = itemview.product_txt
        val price: TextView = itemview.price_product
        val imageproduct: ImageView = itemview.product_image

        }


    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

        val layoutview = LayoutInflater.from(parent.context).inflate(R.layout.product_items, parent, false)
        return ViewHolder(layoutview)


    }
    override fun getItemCount() = product.size

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        val products = product[position]

         holder.title.text = products.title

        holder.price.text = products.price.toString()

        val title = holder.title.text
        holder.title.setOnClickListener {


            val activity = it.context as AppCompatActivity
            activity.supportFragmentManager.beginTransaction()
                .replace(R.id.homepage , ItemDetailsfragment())
                .commit()
            val bundle = Bundle()
            bundle.putString("title" , title.toString())
        }
   }
}

и это мой фрагмент, который я хочу передать ему данные
class ItemDetailsfragment : Fragment() {


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


        val title = Bundle()
        val get = title.getString("title")

        d("main" , "$get")

        return view
    }
}


Что я уже пробовал:

я так много всего пробую но ничего не получается

1 Ответов

Рейтинг:
11

OriginalGriff

Мы не можем запустить этот код в тех же условиях, что и вы: у нас нет доступа к остальной части вашего кода или к данным, с которыми он работает. А с ошибками во время выполнения это очень важно! Черт возьми, мы даже не знаем, где происходит ошибка в этом коде или что вы делаете, чтобы туда попасть.

Так что все будет зависеть от тебя.
К счастью, у вас есть инструмент, который поможет вам выяснить, что происходит: отладчик. Как вы его используете, зависит от вашей системы компилятора, но быстрый поиск в Google имени вашей IDE и "отладчика" должен дать вам необходимую информацию.

Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это за вас - пришло время вам освоить новый (и очень, очень полезный) навык: отладку!