ViewerFlipper Kottlin с фрагментами - PullRequest
0 голосов
/ 22 апреля 2020

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

Это мой HomeFragment .kt

package com.example.senthil.kotlin_navigationdrawer.Fragment

import android.os.Bundle
import android.support.v4.app.Fragment
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.ViewFlipper
import com.example.senthil.kotlin_navigationdrawer.R



private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"


class HomeFragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {

        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_home, container, false)

    }

}

MainActivity

package com.example.senthil.kotlin_navigationdrawer

import android.os.Bundle
import android.support.design.widget.NavigationView
import android.support.v4.view.GravityCompat
import android.support.v7.app.ActionBarDrawerToggle
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
import com.example.senthil.kotlin_navigationdrawer.Fragment.*
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.app_bar_main.*

class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {

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

        val toggle = ActionBarDrawerToggle(
                this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close)
        drawer_layout.addDrawerListener(toggle)
        toggle.syncState()

        nav_view.setNavigationItemSelectedListener(this)

        displayScreen(-1)
    }

    override fun onBackPressed() {
        if (drawer_layout.isDrawerOpen(GravityCompat.START)) {
            drawer_layout.closeDrawer(GravityCompat.START)
        } else {
            super.onBackPressed()
        }
    }



    fun displayScreen(id: Int){

       // val fragment =  when (id){

        when (id){
            R.id.nav_home -> {
                supportFragmentManager.beginTransaction().replace(R.id.relativelayout, HomeFragment()).commit()
            }

            R.id.sporting -> {
                supportFragmentManager.beginTransaction().replace(R.id.relativelayout, Sporting()).commit()
            }

            R.id.manunited -> {
                supportFragmentManager.beginTransaction().replace(R.id.relativelayout, Manunited()).commit()
            }

           R.id.real -> {
               supportFragmentManager.beginTransaction().replace(R.id.relativelayout, Real()).commit()           }

           R.id.juv -> {
               supportFragmentManager.beginTransaction().replace(R.id.relativelayout, Juventus()).commit()
           }


        }
    }

    override fun onNavigationItemSelected(item: MenuItem): Boolean {
        // Handle navigation view item clicks here.

        displayScreen(item.itemId)

        drawer_layout.closeDrawer(GravityCompat.START)
        return true
    }




}

Пытаясь поместить его в fragmeng_home. xml, я пробовал разные коды, но, поскольку я новичок, я не могу адаптировать код для этого приложения .

...