У меня есть работающее приложение, которое я хочу немного обновить. сейчас я загружаю API с веб-страницы со списком многих мест, которые вы можете посетить, и я перечисляю все имена со страницы в представлении переработчика в основном. и когда я нажимаю на представление, меня перенаправляют на другую страницу.
, но сейчас мне нужно иметь 2 кнопки, ведущие к каждой стороне.
, например:
если вы нажмете на имя, вы будете отправлены на информационную страницу, и если вы нажмете значок GPS, вы будете отправлены на Google Maps (я реализовал Google Maps). но я не совсем знаю, как это сделать
Это мой адаптер
class MainAdapter(val homeFeed : HomeFeed) : RecyclerView.Adapter<CustomViewHolder>() {
private var TAG = "Main"
// numberOfItems
override fun getItemCount(): Int {
return homeFeed.features.size
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
// how do we even create a view
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.list_row, parent, false)
return CustomViewHolder(cellForRow)
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
val feature = homeFeed.features.get(position)
holder.view.textView_place_name.text = feature.properties.name
holder.feature = feature
}
}
class CustomViewHolder(val view: View, var feature: Feature? = null): RecyclerView.ViewHolder(view) {
companion object{
val FEATURE_NAME_KEY = "FEATURE_TITLE"
val FEATURE_ID_KEY = "FEATURE_ID"
}
init {
view.setOnClickListener {
println("clicking on a view : MainAdapter")
val intent = Intent(view.context, DetailActivity::class.java)
intent.putExtra(FEATURE_NAME_KEY,feature?.properties?.name)
intent.putExtra(FEATURE_ID_KEY, feature?.properties?.id)
view.context.startActivity(intent)
}
}
}// end CustomViewHolder
Это мой "вид":
<?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="wrap_content">
<ImageView
android:id="@+id/imageView_navigation_link"
android:layout_width="50dp"
android:layout_height="50dp"
android:paddingTop="8dp"
android:paddingRight="8dp"
android:paddingBottom="8dp"
app:layout_constraintBottom_toBottomOf="@+id/textView_place_name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/textView_place_name"
app:srcCompat="@drawable/ic_map_marker" />
<TextView
android:id="@+id/textView_place_name"
android:background="@drawable/rd_corners_list_row"
android:layout_width="350dp"
android:layout_height="0dp"
android:paddingLeft="20dp"
android:paddingTop="8dp"
android:paddingRight="8dp"
android:paddingBottom="8dp"
android:text="Place Name"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Именно эту «imageView_navigation_link» я хочу добавить вторую кнопку, но я не знаю, как изменить свой адаптер для достижения этой цели.
, если вы поможете мне сделать его кликабельным вместе с textView_place_name, я буду очень признателен.