Чтобы прикрепить выбранный элемент счетчика в виде списка - PullRequest
0 голосов
/ 07 мая 2019

У меня есть счетчик, который показывает название округа, изображения и порядковый номер.Теперь я хочу отобразить выбранный элемент счетчика в виде списка.Я получаю позицию выбранного элемента счетчика, но элементы позиции не отображаются в виде списка. У меня есть файл couuntries.txt в папке res / raw и изображения в режиме рисования

Если я присоединю новый адаптер,параметры, которые я должен пройти.Кроме того, как отобразить все 3 элемента в списке

MainActivity.kt

class MainActivity : AppCompatActivity() {

    var countryname: MutableList<String> = mutableListOf()
    var countryflag: MutableList<Int> = mutableListOf()
     override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        readfile()
     //   spinnerCustomlist()
    }

    private lateinit var myCustomAdapter: CustomAdapter
         fun readfile() {
        var imagecode: Int? = null
        var nam: String? = null
        var name: String? = null
        var code: String? = null
        var instream = resources.openRawResource(R.raw.countries)
        var scan = Scanner(instream)
        while (scan.hasNext()) {
            nam = scan.nextLine()
            code = nam.substring(0, 2)
            code = code.toLowerCase()
            name = nam.substring(3)
            imagecode = resources.getIdentifier("$code", "drawable", "com.example.dell.custom_spinner_flags")
            if (imagecode > 0) {
                countryname.add(name)
                countryflag.add(imagecode)
            }
        }

        myCustomAdapter = CustomAdapter(applicationContext, countryname, countryflag)
        spinner2.adapter = myCustomAdapter
         lists.x
       spinner2?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
            override fun onNothingSelected(parent: AdapterView<*>?) {
            }

            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
          //    val List: Int = parent!!.getItemAtPosition(position)           ////////////////////Code//////////////////////
                            }      } }}

CustomAdapter.kt для счетчика

class CustomAdapter(context: Context, var countryname : MutableList<String>, var countryflag: MutableList<Int>) : BaseAdapter() {
    val layoutInflater: LayoutInflater = LayoutInflater.from(context)
    override fun getItem(position: Int): Any? {
        return null //To change body of created functions use File | Settings | File Templates.
    }

    override fun getItemId(position: Int): Long {
        return 0 //To change body of created functions use File | Settings | File Templates.
    }

    override fun getCount(): Int {
        return countryname.size //To change body of created functions use File | Settings | File Templates.
    }

    override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
        val rowView = layoutInflater.inflate(R.layout.custom,parent, false)
        val name: TextView = rowView.findViewById(R.id.textView)
        val number: TextView = rowView.findViewById(R.id.textView2)
        val imageview: ImageView = rowView.findViewById(R.id.Image)
        name.text = countryname[position]
        imageview.setImageResource(countryflag[position])
        var num = position
        num += 1
        number.text = num.toString()
        return rowView
    }

}

ListViewAdapter.kt

class ListViewdisplay
                  (context: Context,  ? /////////                 ) :
        ArrayAdapter<String>
         (context, R.layout.activity_list_viewdisplay,x) {
    @SuppressLint("ViewHolder")
    override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
        val layoutInflater: LayoutInflater = LayoutInflater.from(context)
        val rowView = layoutInflater.inflate(R.layout.activity_list_viewdisplay, parent, false)

        val list: ListsView = rowView.findViewById(R.id.list)
      ////////////////////////////////


        return rowView
    }

}
...