Заголовок панели навигации в Котлине пуст - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь отобразить заголовок панели навигации в моей активности класса TestProjectList, но значение пустое, поэтому я не могу видеть плитку панели навигации.Я не уверен, почему он показывает пустое значение.Ваша помощь приветствуется.

Model Class:
class TestProject(val name: String,val location: String)

Main Class:     
     private class ItemDetailAdapter(val TestProjectList:Array<TestProject>): RecyclerView.Adapter<ItemDetailViewHolder>()
    {

        override fun onBindViewHolder(p0: ItemDetailViewHolder, p1: Int) {
            val TestProject=TestProjectList.get(p1)
            p0?.customView?.TestProjectName?.text=TestProject.name
            val TestProjectPicture=p0?.customView?.itemPicture
            Picasso.get().load(TestProject.location).into(TestProjectPicture)

        }
        override fun getItemCount(): Int {
            return TestProjectList.size

        }
        override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ItemDetailViewHolder {
            val layoutInflater=LayoutInflater.from(p0?.context)
            val customView=layoutInflater.inflate(R.layout.items_details,p0,false)
                        return ItemDetailViewHolder(customView)
        }
    }
    class ItemDetailViewHolder(val customView:View,var Title: TestProject?=null):RecyclerView.ViewHolder(customView)
    {
        companion object {
        val ITEM_TITLE_KEY="TestProject"
        }
        init {
            customView.setOnClickListener {
                val intent= Intent(customView.context,TestProjectMenuList::class.java)
                intent.putExtra(ITEM_TITLE_KEY,Title?.name)
                print("Printting Title :$Title?.name")
                println("Hello Test $ITEM_TITLE_KEY")
                customView.context.startActivity(intent)
                println("Test")
            }
        }

    TestProjectList Class:
        val navBarTitle=intent.getStringExtra(MainClass.ItemDetailViewHolder.ITEM_TITLE_KEY)
        supportActionBar?.title=navBarTitle

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Когда вы создаете свой видоискатель в адаптере return ItemDetailViewHolder(customView), вы не передаете никакого значения для параметра Title.Вы также не устанавливаете его последним, но вы заполняете намерение intent.putExtra(ITEM_TITLE_KEY,Title?.name).В этом случае значение, которое вы всегда получите из намерения, будет null.

0 голосов
/ 18 октября 2018
Model Class:
class TestProject(val name: String,val location: String)

Main Class:     
     private class ItemDetailAdapter(val TestProjectList:Array<TestProject>): RecyclerView.Adapter<ItemDetailViewHolder>()
    {

        override fun onBindViewHolder(p0: ItemDetailViewHolder, p1: Int) {
            val TestProject=TestProjectList.get(p1)
            p0?.customView?.TestProjectName?.text=TestProject.name
            val TestProjectPicture=p0?.customView?.itemPicture
            Picasso.get().load(TestProject.location).into(TestProjectPicture)
//Below code solved the Title Problem
                p0?.Title=TestProject
        }
        override fun getItemCount(): Int {
            return TestProjectList.size

        }
        override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ItemDetailViewHolder {
            val layoutInflater=LayoutInflater.from(p0?.context)
            val customView=layoutInflater.inflate(R.layout.items_details,p0,false)
                        return ItemDetailViewHolder(customView)
        }
    }
    class ItemDetailViewHolder(val customView:View,var Title: TestProject?=null):RecyclerView.ViewHolder(customView)
    {
        companion object {
        val ITEM_TITLE_KEY="TestProject"
        }
        init {
            customView.setOnClickListener {
                val intent= Intent(customView.context,TestProjectMenuList::class.java)
                intent.putExtra(ITEM_TITLE_KEY,Title?.name)
                print("Printting Title :$Title?.name")
                println("Hello Test $ITEM_TITLE_KEY")
                customView.context.startActivity(intent)
                println("Test")
            }
        }

    TestProjectList Class:
        val navBarTitle=intent.getStringExtra(MainClass.ItemDetailViewHolder.ITEM_TITLE_KEY)
        supportActionBar?.title=navBarTitle
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...