我有问题,为什么我不能运行 Picasso.get().load(users.getProfile()).into(R.id.profile_image);什么问题?

问题描述

我有问题。我会尝试运行这个程序。但我不能那样做。 我看到评论 Picasso.get().load(users.getProfile()).into(R.id.profile_image); 我看到 .into 中的评论

而且,我只想从 firebase 运行图片。 请检查一下!并帮助我。

这是 MainActivit.kt 代码


class MainActivity : AppCompatActivity() {



    var refUsers: DatabaseReference? = null
    var firebaseUser: FirebaseUser? = null

    /**
     * Need Dependencys
     * implementation 'com.google.firebase:firebase-core:18.0.2'
    implementation 'com.google.firebase:firebase-auth:20.0.3'
    implementation 'com.google.firebase:firebase-storage-ktx:19.2.1'
    implementation 'com.google.firebase:firebase-database-ktx:19.6.0'
    implementation 'com.google.firebase:firebase-messaging:21.0.1'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'com.rengwuxian.materialedittext:library:2.1.4'
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
     */



    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setSupportActionBar(findViewById(R.id.toolbar_main)) // eikhane uporer action bar design ta call kora hoece

        firebaseUser = FirebaseAuth.getInstance().currentUser
        refUsers = FirebaseDatabase.getInstance().reference.child("Users").child(firebaseUser!!.uid)





        val toolbar: androidx.appcompat.widget.Toolbar = findViewById(R.id.toolbar_main)
        setSupportActionBar(toolbar)
        supportActionBar!!.title = "" // jodi ami amar apps er default name show koraite chai toolbar e tahole eikhane sei name ta ami dite pari.





        val tablayout: TabLayout = findViewById(R.id.tab_layout)
        val viewPager: ViewPager = findViewById(R.id.view_pager) // eikhane viewpager bolte ek tab theke arek tab slide kore jawar jonnoi eti bebohar kora hoy
        val viewPagerAdapter = ViewPagerAdapter(supportFragmentManager)


        /**
         * eikhane viewpager.Adapter die CHATfragment,searchfragment,settingfragment ke add kora hoece.
         */
        viewPagerAdapter.addFragment(ChatsFragment(),"Chats")
        viewPagerAdapter.addFragment(SettingsFragment(),"Search")
        viewPagerAdapter.addFragment(SettingsFragment(),"Settings")

        viewPager.adapter = viewPagerAdapter //eikhane ViewpagerAdapter er sathe viewpager ke jog kora hoice.
        tablayout.setupWithViewPager(viewPager) //eikhane Tablayout er sathe viewpager ke jog kora hoice.


        //display username and profile picture
        refUsers!!.addValueEventListener(object : ValueEventListener {
            override fun onDataChange(snapshot: DataSnapshot) {
                if (snapshot.exists())
                {

                    val users: Users? = snapshot.getValue(Users::class.java)

                    findViewById<TextView>(R.id.user_name).text = users!!.getUsername()
                    Picasso.get().load(users.getProfile()).into(R.id.profile_image);

                }


            }

            override fun onCancelled(error: DatabaseError) {
                Todo("Not yet implemented")
            }
        })




    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.menu_main,menu)
        return true
    }

    override fun onoptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            R.id.action_logout -> {
                FirebaseAuth.getInstance().signOut()

                val intent = Intent(this@MainActivity,WelcomeActivity::class.java)
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
                startActivity(intent)
                finish()
                return true
            }
        }

        return false

    }

    internal class ViewPagerAdapter(fragmentManager: FragmentManager) :
        FragmentPagerAdapter(fragmentManager)
    {

        private val fragments: ArrayList<Fragment>
        private val titles: ArrayList<String>


        init {
            fragments = ArrayList<Fragment>()
            titles = ArrayList<String>()
        }


        override fun getCount(): Int {
            return fragments.size
        }

        override fun getItem(position: Int): Fragment {
            return fragments[position]
        }

        fun addFragment(fragment: Fragment,title: String)
        {
            fragments.add(fragment)
            titles.add(title)

        }


        override fun getPageTitle(i: Int): CharSequence? {
            return titles[i]
        }
    }

}


这是 Users.kt 代码


class Users

{
    private var uid: String =""
    private var username: String =""
    private var profile: String =""
    private var cover: String =""
    private var status: String =""
    private var search: String =""
    private var facebook: String =""
    private var instagram: String =""
    private var website: String =""


    constructor()
    constructor(
            uid: String,username: String,profile: String,cover: String,status: String,search: String,facebook: String,instagram: String,website: String)
    {
        this.uid = uid
        this.username = username
        this.profile = profile
        this.cover = cover
        this.status = status
        this.search = search
        this.facebook = facebook
        this.instagram = instagram
        this.website = website
    }

    fun getUID(): String?{
        return uid
    }

    fun setUID(uid: String){
        this.uid = uid
    }


    /**
     *
     *
     */


    fun getUsername(): String?{
        return username
    }

    fun setUsername(username: String){
        this.username = username
    }


    /**
     *
     */




    fun getStatus(): String?{
        return status
    }

    fun setStatus(status: String){
        this.status = status
    }

    /**
     *
     */




    fun getProfile(): String?{
        return profile
    }

    fun setProfile(status: String){
        this.profile = profile
    }

    /**
     *
     */





    fun getCover(): String?{
        return cover
    }

    fun setCover(cover: String){
        this.cover = cover
    }







    fun getSearch(): String?{
        return search
    }

    fun setSearch(search: String){
        this.search = search
    }







    fun getFacebook(): String?{
        return facebook
    }

    fun setFacebook(facebook: String){
        this.facebook = facebook
    }







    fun getInstagram(): String?{
        return instagram
    }

    fun setInstagram(instagram: String){
        this.instagram = instagram
    }







    fun getWebsite(): String?{
        return website
    }

    fun setWebsite(website: String){
        this.website = website
    }



}

解决方法

删除这一行:

Picasso.get().load(users.getProfile()).into(R.id.profile_image);

并替换为:

Picasso.get().load(users.getProfile()).into(findViewById<ImageView>(R.id.profile_image));