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

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

02.10.2019, 20:59. Показов 1264. Ответов 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
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru