Приложение для связи в Android - PullRequest
0 голосов
/ 18 октября 2019

Я хочу создать приложение для контактов, которое считывает контакты с устройства Android и показывает его в виде списка. При нажатии на элемент списка просмотра открывается новое действие, в котором отображаются сведения о контакте. Я отобразил список и столкнулся с проблемами при получении данных от простого курсорадаптера. Может кто-нибудь помочь мне с методом setOnItemClickListener ()?

class MainActivity : AppCompatActivity() {

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

        read()
    }
    fun read()
    {
        var cursor : Cursor? = 
  contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            null,null,null,null)

        startManagingCursor(cursor)
        var selected_columns = arrayOf(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER,
            ContactsContract.CommonDataKinds.Phone._ID)
        var to =  intArrayOf(android.R.id.text1)
        var simple : SimpleCursorAdapter = SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,cursor,selected_columns,to,0)
        my_listview.adapter = simple

        my_listview.setOnItemClickListener { parent, view, position, id ->

            val intent = Intent(this, Contactdetails::class.java)
            startActivity(intent)
        }

    }


   }

1 Ответ

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

Вам не нужно получать данные от SimpleCursorAdapter. Просто сделай это так:

my_listview.setOnItemClickListener { parent, view, position, id ->

    val intent = Intent(this, Contactdetails::class.java)
    intent.putExtra("CONTACT_DATA" , cursor.getString(position))
    startActivity(intent)

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...