Hallo
Das es bei dir nicht geht sind erstmal zwei gründe.
1 in deinen letzten Layout ist keine TextView mehr vorhanden wie im ersten.
Habe da auch die Ankerpunkte angepasst damit sie nicht hinter dem Bild ist
2 dem Button du hast zwar richtiger weise die Angelpunkte angepasst.
Aber der Listner ?
Prinzipiell gibt es zwei arten zum setzen eines ClickListner. Im Code (Java, Kotlin "XML ist das Layout")
Erste Variante mit dem setzen der Eigenschaft "OnClick" im Layout XML bein Button.
Dazu musst du auch die Methode im Qwellcode ob java oder Kotlin hinzufügen.
Das setzen des Listner brauchst du dann nicht.
Da es zb. Bei Fragmenten nicht möglich ist die Eigenschaft OnClick im XML zu benutzen. Macht man das nicht mehr. In Kotlin eigentlich sowieso nicht.
Das war kein guter Tipp von @Paddy
Eigentlich hatte das auch in der Layout Datei rot unterstrichen sein müssen oder Im Designer mit einen Icon Markiert ein müssen. Was dir sagt das du die Methode noch nicht hast. Die er dir sogar erstellen kann.
Mein Code sollte eigentlich laufen wenn du nicht den Schalter im XML gesetzt hast. Wenn Ja geht er natürlich nicht.
Sollte es mit den Synthetic und lambda exprechen bei dir nicht gehen.
Hier ein ausführlicher Code ist änlich dem üblichen Java Code.
erstmal das Layout mit OnClick
<?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"
android:background="@drawable/a1234"
tools:context=".MainActivity"
tools:ignore="ExtraText">
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="80dp"
android:text=""
android:textColor="#192211"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button"
app:layout_constraintVertical_bias="0.562" />
<ImageView
android:id="@+id/app_logo"
android:layout_width="331dp"
android:layout_height="360dp"
android:layout_marginStart="50dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="50dp"
android:contentDescription="TODO"
android:src="@drawable/b1234"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.487"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="99dp"
android:layout_marginBottom="270dp"
android:ems="10"
android:inputType="text"
android:text="Gib Deinen Namen ein"
android:textColor="#000000"
android:textStyle="bold"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="left" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="150dp"
android:layout_marginBottom="170dp"
android:onClick="confirmPressed"
android:text="Bestätigen"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Alles anzeigen
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
class MainActivity : AppCompatActivity() {
lateinit var btButton : Button
lateinit var tvText : TextView
lateinit var edText : EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btButton = findViewById(R.id.button)
tvText = findViewById(R.id.textView)
edText = findViewById(R.id.editText)
btButton.setOnClickListener(object : View.OnClickListener{
override fun onClick(v: View?) {
var st = edText.getText().toString()
tvText.setText(st)
}})
}
}
Alles anzeigen