С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676

Событие клика по кнопке

02.10.2019, 20:59. Показов 1234. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

что то не догоняю как отловить событие клика по кнопке?

вот код моей программы

Kotlin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.nikonov.mobilalexcms.fragment
 
import android.content.ContentValues
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupWithNavController
import androidx.recyclerview.widget.LinearLayoutManager
import com.nikonov.mobil_alexcms.SqliteBase.messagesdb.MessagesDbManager
import com.nikonov.mobilalexcms.R
import com.nikonov.mobilalexcms.adapter.VisitorAdapter
import com.nikonov.mobilalexcms.callback.CallbackVisitors
import com.nikonov.mobilalexcms.models.VisitorList_item
import com.nikonov.mobilalexcms.rests.RestAdapter
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.fragment_visitors.view.*
import kotlinx.android.synthetic.main.fragment_visitor_actions.view.*
import kotlinx.android.synthetic.main.visitor_item.view.*
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import java.util.*
 
class Visitors : Fragment() {
    private lateinit var adapter: VisitorAdapter
 
    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
 
        // получаем ссылку на макет фрагмента
        val fragmentLayout = inflater.inflate(R.layout.fragment_visitors, container, false)
 
 
        //val navController = NavHostFragment.findNavController(this)
        //fragmentLayout.open_actions.setOnClickListener { navController.navigate(R.id.visitorActions) }
 
        fragmentLayout.visitorList.layoutManager  = LinearLayoutManager(fragmentLayout.context)
        this.adapter = VisitorAdapter(fragmentLayout.context)
        fragmentLayout.visitorList.adapter = this.adapter
 
 
        var dbManager = MessagesDbManager(fragmentLayout.context)
        //При открытии вываливаем весь список
        val cursor = dbManager.queryAll()
        if (cursor.moveToFirst()) {
            do {
                val visitorSendOne = VisitorList_item(
                    cursor.getString(cursor.getColumnIndex("user_ip")),
                    cursor.getString(cursor.getColumnIndex("country")),
                    cursor.getString(cursor.getColumnIndex("status"))
                )
                adapter.addVisitor(visitorSendOne)
            } while (cursor.moveToNext())
        }
 
        //Получим список сообщений каждые 10 секунд делаем запрос на сервер
        //Далее сверяемся с БД если в БД есть такое проходим мимо если нету тогда пихаем в БД и на экран
        val timer = Timer()
        timer.schedule(object : TimerTask() {
            override fun run() {
                val apiInterface = RestAdapter.createAPI()
                var callbackCall = apiInterface.allVisitors
                callbackCall.enqueue(object : Callback<CallbackVisitors> {
                    override fun onResponse(
                        call: Call<CallbackVisitors>,
                        response: Response<CallbackVisitors>
                    ) {
                        val resp = response.body()
                        if (resp != null && resp.status.equals("ok")) {
                            //****************************************************************
                            for (item in resp.visitors) {
                                var values = ContentValues()
                                values.put("user_ip", item.ip)
                                values.put("country", item.country)
                                values.put("status", "Online")
 
                                val visitorSend = VisitorList_item(
                                    item.ip,
                                    item.country,
                                            "Online"
                                )
 
                                var insertdisplay = 0
                                val c = dbManager.query(item.ip)
                                if (c.count > 0) {
                                    insertdisplay  = 1
                                }
 
                                if(insertdisplay == 0) {
                                    val mID = dbManager.insert(values)
                                    if (mID > 0) {
                                        //Добавили новое значнеие
                                        Log.i("", "Добавили новое значнеие ")
                                        adapter.addVisitor(visitorSend)
                                    } else {
                                        //не смогли добавить (
                                        Log.i("", "не смогли добавить ")
                                    }
                                }
                            }
                            //****************************************************************
                        }
                    }
 
                    override fun onFailure(call: Call<CallbackVisitors>, t: Throwable) {
                        if (!call.isCanceled())
                            Log.i("", "Ошибка " + t)
                    }
 
                })
            }
        }, 1, 10000)
 
        return fragmentLayout
    }
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".fragment.Visitors">
 
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/visitorList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent">
 
    </androidx.recyclerview.widget.RecyclerView>
 
</FrameLayout>
Вот адаптер (в xml адаптера я прикрутил кнопку клик которой мне какраз таки нужно обработать!)

Kotlin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.nikonov.mobilalexcms.adapter
 
import android.content.Context
import android.graphics.Color.*
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.navigation.fragment.NavHostFragment
import androidx.recyclerview.widget.RecyclerView
import com.nikonov.mobilalexcms.R
import com.nikonov.mobilalexcms.models.VisitorList_item
import kotlinx.android.synthetic.main.visitor_item.view.*
 
class VisitorAdapter(val context: Context?) : RecyclerView.Adapter<VisitorViewHolder>() {
    private val visitors: ArrayList<VisitorList_item> = ArrayList()
 
    fun addVisitor(visitor: VisitorList_item){
        visitors.add(visitor)
        notifyDataSetChanged()
    }
 
    override fun getItemCount(): Int {
        return visitors.size
    }
 
 
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VisitorViewHolder {
        return OtherMessageViewHolder(
            LayoutInflater.from(context).inflate(
                R.layout.visitor_item,
                parent,
                false
            )
        )
    }
 
    override fun onBindViewHolder(holder: VisitorViewHolder, position: Int) {
        val visitor = visitors.get(position)
 
        holder.bind(visitor)
    }
 
    inner class OtherMessageViewHolder (view: View) : VisitorViewHolder(view) {
        private var vCitiesText: TextView       = view.Cities
        private var visitor_ipText: TextView    = view.ip
        private var onlineofflaneText: TextView = view.OnlineOffline
 
        override fun bind(visitor: VisitorList_item) {
            vCitiesText.text = visitor.visitor_citi
            visitor_ipText.text = visitor.visitor_ip
            //Пhоверяем если юзер онлайн тогда цвет зеленый иначе черный
            var OnlineOffline = visitor.status
            if (OnlineOffline == "Online") {
                onlineofflaneText.setTextColor(parseColor("#32AB0E"))
                onlineofflaneText.text = OnlineOffline
            }
            if (OnlineOffline == "Offline") {
                onlineofflaneText.setTextColor(parseColor("#000000"))
                onlineofflaneText.text = OnlineOffline
            }
 
        }
    }
}
 
open class VisitorViewHolder (view: View) : RecyclerView.ViewHolder(view) {
    open fun bind(visitor: VisitorList_item) {}
}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:orientation="vertical">
 
 
    <TextView
        android:id="@+id/Cities"
        android:layout_width="35dp"
        android:layout_height="37dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:text="@string/cities"
        android:textSize="18sp"
        app:layout_constraintStart_toStartOf="parent"
        tools:ignore="MissingConstraints" />
 
    <TextView
        android:id="@+id/ip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/online"
        android:textSize="14sp"
        app:layout_constraintEnd_toStartOf="@+id/open_actions"
 
        app:layout_constraintStart_toEndOf="@+id/Cities"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteY="5dp" />
 
    <TextView
        android:id="@+id/OnlineOffline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/online"
        android:textSize="14sp"
        app:layout_constraintEnd_toStartOf="@+id/open_actions"
        app:layout_constraintStart_toEndOf="@+id/Cities"
        app:layout_constraintTop_toBottomOf="@+id/ip" />
 
    <Button
        android:id="@+id/open_actions"
        android:layout_width="40dp"
        android:layout_height="42dp"
        android:text="@string/tochki"
        android:textSize="14sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="4dp"
        android:background="#E040FB"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/OnlineOffline" />
 
</androidx.constraintlayout.widget.ConstraintLayout>
а вот xml фрагмента который должен открыться по клику (более того в нем так же имеются кнопки по клику на которые должны отрываться свои фрагменты )

но вот сделалт ьэто что то совсем не получается (

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".fragment.VisitorActions">
 
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/visitor_actions"
        android:textSize="14sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="MissingConstraints" />
 
    <Button
        android:id="@+id/Action_Detali"
        android:layout_width="414dp"
        android:layout_height="69dp"
        android:text="@string/Action_Detali"
        app:layout_constraintEnd_toStartOf="@+id/textView"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView"
        tools:ignore="MissingConstraints" />
 
    <Button
        android:id="@+id/Action_InviteChat"
        android:layout_width="414dp"
        android:layout_height="69dp"
        android:text="@string/Action_InviteChat"
        app:layout_constraintEnd_toStartOf="@+id/textView"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Action_Detali"
        tools:ignore="MissingConstraints" />
 
    <Button
        android:id="@+id/Action_OpenChat"
        android:layout_width="414dp"
        android:layout_height="69dp"
        android:text="@string/Action_OpenChat"
        app:layout_constraintEnd_toStartOf="@+id/textView"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Action_InviteChat"
        tools:ignore="MissingConstraints" />
 
    <Button
        android:id="@+id/Action_ExitChat"
        android:layout_width="414dp"
        android:layout_height="69dp"
        android:text="@string/Action_ExitChat"
        app:layout_constraintEnd_toStartOf="@+id/textView"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Action_OpenChat"
        tools:ignore="MissingConstraints" />
 
</androidx.constraintlayout.widget.ConstraintLayout >
помогите решить проблему
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2019, 20:59
Ответы с готовыми решениями:

Правильное создания клика по кнопке
Привет всем, для меня сейчас идет начало работы в Android Studio, и я сразу хотел бы понять, как...

Открытие приложенея после клика на нотификации (Service, notification)
всем добрый день. Содал простое приложение. Одно Активити и одна служба. Служба старуте вместе...

Почему не работает переход после клика по cell в результате поиска по таблице?
Настроил поиск по tableView. все работает, таблица сортируется по результату ввода, но при клике на...

8
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.10.2019, 21:06
В чём проблема инициализировать её также, как TextView, и повесить слушатель?
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
02.10.2019, 21:23  [ТС]
В чём проблема инициализировать её также, как TextView, и повесить слушатель?
проблема в том что я не понимаю как это сделать я только начал изучать андроид

Добавлено через 5 минут
я пробовал так делать но получаю ошибку

[Kotlin]
// получаем ссылку на макет фрагмента
val fragmentLayout = inflater.inflate(R.layout.fragment_visit ors, container, false)


val navController = NavHostFragment.findNavController(this)
fragmentLayout.open_actions.setOnClickLi stener { navController.navigate(R.id.visitorActio ns) }
[/Ko]

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener (android.view.View$OnClickListener)' on a null object reference
at com.nikonov.mobilalexcms.fragment.Visito rs.onCreateView(Visitors.kt:42)

42 строка это
Kotlin
1
 fragmentLayout.open_actions.setOnClickListener { navController.navigate(R.id.visitorActions) }
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.10.2019, 21:24
Java
1
2
3
4
5
6
7
private var vCitiesText: TextView       = view.Cities
private var visitor_ipText: TextView    = view.ip
private var onlineofflaneText: TextView = view.OnlineOffline
private var button: Button= view.open_actions
button.setOnClickListener {
    ...
}
Добавлено через 52 секунды
Рекомендую найти уроки и пройти хотя бы часть, это довольно очевидные вещи даже для новичков.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
02.10.2019, 21:40  [ТС]
private var vCitiesText: TextView * * * = view.Cities
private var visitor_ipText: TextView * *= view.ip
private var onlineofflaneText: TextView = view.OnlineOffline
private var button: Button= view.open_actions
button.setOnClickListener {
* * ...
}

это где мне разместить?

в VisitorAdapter? верно?

Добавлено через 7 минут
это где мне разместить? в VisitorAdapter? верно?
0

простите за глупый вопрос ) уже понял где )

Добавлено через 3 минуты
но теперь другая проблема не понимаю как теперь открыть фрагмент?

Kotlin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
inner class OtherMessageViewHolder (view: View) : VisitorViewHolder(view) {
        private var vCitiesText: TextView       = view.Cities
        private var visitor_ipText: TextView    = view.ip
        private var onlineofflaneText: TextView = view.OnlineOffline
        private var button: Button              = view.open_actions
 
        override fun bind(visitor: VisitorList_item) {
            vCitiesText.text = visitor.visitor_citi
            visitor_ipText.text = visitor.visitor_ip
            //Пhоверяем если юзер онлайн тогда цвет зеленый иначе черный
            var OnlineOffline = visitor.status
            if (OnlineOffline == "Online") {
                onlineofflaneText.setTextColor(parseColor("#32AB0E"))
                onlineofflaneText.text = OnlineOffline
            }
            if (OnlineOffline == "Offline") {
                onlineofflaneText.setTextColor(parseColor("#000000"))
                onlineofflaneText.text = OnlineOffline
            }
            
            button.setOnClickListener {
                
                //как открыть нужный фрагмент?
 
            }
        }
    }
Добавлено через 1 минуту
Kotlin
1
2
3
4
5
6
  val navController = NavHostFragment.findNavController(как указать здесь нужный фрагмент?)
            button.setOnClickListener {
                navController.navigate(R.id.visitorActions)
                //как открыть нужный фрагмент?
 
            }
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.10.2019, 21:42
Слушатель делается через интерфейс, имплементится в том фрагменте, а оттуда уже запускается всё, что угодно.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
02.10.2019, 22:17  [ТС]
Цитата Сообщение от ExFau$t Посмотреть сообщение
Слушатель делается через интерфейс, имплементится в том фрагменте, а оттуда уже запускается всё, что угодно.
ничего не понял (

это мне не подойдет?

Цитата Сообщение от ExFau$t Посмотреть сообщение
2
private var vCitiesText: TextView * * * = view.Cities
private var visitor_ipText: TextView * *= view.ip
private var onlineofflaneText: TextView = view.OnlineOffline
private var button: Button= view.open_actions
button.setOnClickListener {
* * ...
}

помогите реализовать рабочий вариант пожалуйста

Добавлено через 12 минут
подскажите пожалуйста ссыку на пример где описано подробнее чем здесь например


там где прописано типа создайте интерфейс впишите туда тот то код добавьте в свой адаптер то то то то и т д?

Добавлено через 16 минут
Сделал так но теперь сново ошибка (

Process: com.nikonov.mobilalexcms, PID: 6355
java.lang.IllegalStateException: Fragment VisitorActions{67d884b (70ef8883-e008-4404-968f-b8852b1afeed)} not associated with a fragment manager.
at androidx.fragment.app.Fragment.getParent FragmentManager(Fragment.java:942)
at androidx.navigation.fragment.NavHostFrag ment.findNavController(NavHostFragment.j ava:107)
at com.nikonov.mobilalexcms.adapter.Visitor Adapter$OtherMessageViewHolder$bind$1.on Click(VisitorAdapter.kt:74)

74 строка это navController.navigate(R.id.visitorActio ns)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
inner class OtherMessageViewHolder (view: View) : VisitorViewHolder(view) {
        private var vCitiesText: TextView       = view.Cities
        private var visitor_ipText: TextView    = view.ip
        private var onlineofflaneText: TextView = view.OnlineOffline
        private var button: Button              = view.open_actions
 
        override fun bind(visitor: VisitorList_item) {
            vCitiesText.text = visitor.visitor_citi
            visitor_ipText.text = visitor.visitor_ip
            //Пhоверяем если юзер онлайн тогда цвет зеленый иначе черный
            var OnlineOffline = visitor.status
            if (OnlineOffline == "Online") {
                onlineofflaneText.setTextColor(parseColor("#32AB0E"))
                onlineofflaneText.text = OnlineOffline
            }
            if (OnlineOffline == "Offline") {
                onlineofflaneText.setTextColor(parseColor("#000000"))
                onlineofflaneText.text = OnlineOffline
            }
 
 
            button.setOnClickListener {
                var myFragment = VisitorActions()
                val navController = NavHostFragment.findNavController(myFragment)
                navController.navigate(R.id.visitorActions)
                //как открыть нужный фрагмент?
 
                Log.i("", "клик "+ visitor_ipText.text)
 
            }
        }
    }
Добавлено через 3 минуты
перепробовал уже кучу способов нифига не получается (
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
02.10.2019, 22:27
https://stackoverflow.com/ques... ew-adapter
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
03.10.2019, 10:22  [ТС]
Цитата Сообщение от ExFau$t Посмотреть сообщение
https://stackoverflow.com/questions/...erview-adapter
сделал как в этой статье ничего не получается ошибки и все (

помимо этого пробовал сделать как здесь но то же ошибки (

ну помогите пожалуйста я же свой код выложил

Добавлено через 10 минут

{мат, неуважение, эгоцентризм, непонимание окружающей реальности}

Добавлено через 4 часа 13 минут
Все нашел решение все заработало!

Добавлено через 22 минуты
В фрагменте

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
 
        // получаем ссылку на макет фрагмента
        val fragmentLayout = inflater.inflate(R.layout.fragment_visitors, container, false)
 
        fragmentLayout.visitorList.layoutManager  = LinearLayoutManager(fragmentLayout.context)
        this.adapter = VisitorAdapter(fragmentLayout.context)
        fragmentLayout.visitorList.adapter = this.adapter
 
        this.adapter.onItemClick = { contact ->
 
            val navController = NavHostFragment.findNavController(this)
 
            navController.navigate(R.id.visitorActions)
            // do something with your item
            Log.d("TAG", contact.visitor_ip)
        }
в адаптере

Java
1
2
3
4
5
6
7
8
9
10
inner class OtherMessageViewHolder (view: View) : VisitorViewHolder(view) {
        private var vCitiesText: TextView       = view.Cities
        private var visitor_ipText: TextView    = view.ip
        private var onlineofflaneText: TextView = view.OnlineOffline
 
        init {
            itemView.setOnClickListener {
                onItemClick?.invoke(visitors[adapterPosition])
            }
        }
в итоге все заработало

только тепреь вопрос как в xml передать новый заголовок
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2019, 10:22
Помогаю со студенческими работами здесь

Прозрачность Layout для клика
Есть программа в ней на activity лежит несколько слоев . На слоях много кнопок и.т.д. и самый...

Поменять картинку у button после клика (не у ImageButton)
Приветствую. Есть кнопка &lt;Button android:id=&quot;@+id/button1&quot; ...

RecyclerView анимация клика по элементу
Подскажите пожалуйста, как сделать в RecyclerView обработчик нажатий на элемент, чтобы элемент как...

Пропуск первого клика
Привет. Первый вечер с андроидом. Делал простой счетчик нажатия для двух кнопок. Проблема в...

RecyclerView. Обработка клика. Intent
Есть приложение SQLite + ListView. Всё хорошо работает. Пытаюсь переделать на SQLite +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru