Android - Kotlin - Как заставить камеру помещать миниатюру растрового изображения в тот же список, по которому нажимается кнопка - PullRequest
0 голосов
/ 14 апреля 2020

новый вопрос здесь. У меня есть два списка, в каждом из которых есть кнопка «сделать фото». После того, как фотография сделана, я бы хотел разместить миниатюру в виде переработчика нажатой кнопки.

Например. Если нажата кнопка 1, поместите миниатюру в первый список. если нажата кнопка 2, поместите фотографию в список 2. Это кажется легкой задачей, но у меня возникли проблемы с ней.

В настоящее время, когда я беру пи c, он попадает в оба списка. если я удалю один из обзоров. пи c попадет go в список кнопок, которые были нажаты первыми.

есть ли способ установить onActivityResult для помещения пи c в соответствующий список нажатых кнопок?

вот мой код: list1. xml

                android:id="@+id/list1RecyclerView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
            </androidx.recyclerview.widget.RecyclerView>


            <com.google.android.material.button.MaterialButton
                android:id="@+id/list2PicsButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="list1 button"
                android:textColor="#FFFFFF">
            </com.google.android.material.button.MaterialButton>

list2 xml

<androidx.recyclerview.widget.RecyclerView
                android:id="@+id/list2RecyclerView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

            </androidx.recyclerview.widget.RecyclerView>

            <com.google.android.material.button.MaterialButton
                android:id="@+id/list2PicsButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="list2 button"
                android:textColor="#FFFFFF">

            </com.google.android.material.button.MaterialButton>

активность

class TakePhotosActivity : AppCompatActivity() {
    private val REQUEST_IMAGE_CAPTURE = 1

    private lateinit var list1 : RecyclerViewAdapter
    private lateinit var list2: RecyclerViewAdapter

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_take_photos)

        initRecyclerView()
        list1PicsButton.setOnClickListener{
            takePhotos();
        }


        list2PicsButton.setOnClickListener{
            takePhotos();
        }

private fun initRecyclerView() {
        list1.apply {
            layoutManager = LinearLayoutManager(this@TakePhotosActivity, RecyclerView.HORIZONTAL, false)
            photoAdapter = RecyclerViewAdapter()
            adapter = photoAdapter
        }


        list2.apply {
            layoutManager = LinearLayoutManager(this@TakePhotosActivity, RecyclerView.HORIZONTAL, false)
            buddyAdapter = RecyclerViewAdapter()
            adapter = buddyAdapter
        }

    }

private fun takePhotos() {
        Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->
            takePictureIntent.resolveActivity(packageManager)?.also {
                startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE)
            }
        }
    }

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
            val imageBitmap = data?.extras?.get("data") as Bitmap

            list1.addPhoto(imageBitmap)
            list2.addPhoto(imageBitmap)


        }
    }

1 Ответ

1 голос
/ 18 апреля 2020

Используйте разные коды запросов для действий, чтобы различать guish их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...