#android #kotlin
Вопрос:
Я пытаюсь реализовать динамическое представление, которое раздувает редактируемый текст и прядильщик из родительского макета. Как только пользователь нажимает на поле EditText, он переходит к действию listview, которое затем отправляет данные тренировки и помещает текст в поле EditText на первой странице.
Я могу заставить работать обе стороны, но, похоже, это работает только с первой выбранной мной тренировкой. Это похоже на то, что намерение не «проясняется» при втором вызове функции.
Я новичок в разработке для Android, но вот мой код
2-й вид (список) — не главная страница
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) val workout = arrayOf("Push-ups", "Squats", "Pull-ups", "Bicep Curl", "Chest Dip", "Dips", "Tricep Extension", "Standing Barbell Curl", "Leg Press", "Calf-raise", "Calf raise", "Tricep Kickback", "Bent over row", "Seated row", "Lunge", "Bicycle Crunches", "Leg Raise", "Chest Fly", "Incline Push-ups", "Decline Push-Ups", "Chin-ups", "Russian Twist", "Wrist Curls", "Overhead Press", "Military Press", "Front Raise", "Lateral Raise", "Bench Press", "Rear Delt Raise", "Rear Deltoid Raise", "Delt Raise") val userAdapter : ArrayAdapterlt;Stringgt; = ArrayAdapter( this, android.R.layout.simple_list_item_1, workout) binding.list1.adapter = userAdapter binding.list1.setOnItemClickListener { _, _, index,_-gt; Toast.makeText(this, "Clicked on ${workout[index]} ", Toast.LENGTH_LONG).show() true val intent = Intent(this, MainActivityList::class.java) intent.putExtra("Workout", workout[index]) intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) startActivity(intent)}
1 — я страница-динамический просмотр (главная страница и страница, на которой я хочу разместить вывод со страницы 2)
override fun onResume() { super.onResume() val count = binding!!.parentlayoutlinear.childCount var v: View? var intent = intent var string = indice.toString() Log.i("Function:", "OnResume") val Workout = intent.getStringExtra("Workout")!! for (i in 0 until count) { v = binding!!.parentlayoutlinear.getChildAt(i) if (i == indice) { val workoutslot: EditText = v.findViewById((R.id.wrkt_name)) workoutslot.setText(Workout) } } }
Я не хочу перегружать вас, ребята, слишком большим количеством кода, но если вы, ребята, попросите меня опубликовать все мои файлы, чтобы решить эту проблему, просто дайте мне знать.