Изображение не появляется - Android - PullRequest
0 голосов
/ 07 мая 2020

Я написал этот код с помощью recyclerview, и я получил изображение, которое я получил из URL-адреса, почему мое изображение не появилось

это мой activity_main. xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

 <androidx.recyclerview.widget.RecyclerView
   android:id="@+id/rvMain"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:listitem="@layout/item_hero"
   />

</RelativeLayout>

это мои инструменты: listitem

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp">


<ImageView
    android:id="@+id/imgHeroes"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:scaleType="centerCrop"/>


<TextView
    android:id="@+id/txtHeroName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="16dp" />
</LinearLayout>

это мой MainActivity.kt

class MainActivity : AppCompatActivity() {

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

    val listHeroes = listOf(
        Hero(
            name = "Thor",
            image = "https://media.skyegrid.id/wp-content/uploads/2019/06/Thor-4-1.jpg"
        ),
        Hero(
            name = "Captain America",
            image = "https://i.annihil.us/u/prod/marvel/i/mg/1/c0/537ba2bfd6bab/standard_xlarge.jpg"
        ),
        Hero(
            name = "Iron Man",
            image = "https://i.annihil.us/u/prod/marvel/i/mg/6/a0/55b6a25e654e6/standard_xlarge.jpg"
        )
    )

    val heroesAdapter = HeroAdapter(listHeroes) {hero ->
        Toast.makeText(this, "hero clicked ${hero.name}", Toast.LENGTH_SHORT).show()
    }


    rvMain.apply {
        layoutManager = LinearLayoutManager(this@MainActivity)
        adapter = heroesAdapter
    }
}

}

это мой адаптер

class HeroAdapter(
private val heroes: List<Hero>,
private val adapterOnclick: (Hero) -> Unit

): RecyclerView.Adapter () {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HeroAdapter.HeroHolder {
    return HeroHolder(
        LayoutInflater.from(parent.context).inflate(
            R.layout.item_hero,
            parent,
            false
        )
    )
}

override fun getItemCount(): Int = heroes.size

override fun onBindViewHolder(holder: HeroAdapter.HeroHolder, position: Int) {
    holder.binHero(heroes[position])
}

inner class HeroHolder(view: View) : RecyclerView.ViewHolder(view) {
    fun binHero(hero: Hero) {
        itemView.apply {
            txtHeroName.text = hero.name
            Picasso.get().load(hero.image).into(imgHeroes)

            setOnClickListener {
                adapterOnclick(hero)
            }
        }
    }

}

}

это мой эмулятор https://i.stack.imgur.com/0ePUC.png

Я написал этот код с помощью recyclerview и я получил изображение, которое я получил по URL-адресу, почему мое изображение не появилось, я написал этот код, используя kotlin язык программирования

пожалуйста, помогите мне

...