Как обрабатывать клики от xml до Активность - PullRequest
0 голосов
/ 25 января 2020

Я новичок в android и следую этому уроку: https://www.youtube.com/watch?v=qK0QNA0sMGc&t=2710s ( Это на хинди )

В моей MainActivity. java:

In my MainActivity.java
Когда я пытаюсь запустить приложение, оно выдает ошибки:

9 errors found
1 warning found
2 typos found

Он просит меня поставьте точку с запятой в конце
Log.i(tag:"this", msg:"clickbtn: This is a message");
, который я уже записал.

Это мой action_main. xml: acitivity_main.xml file

Может кто-нибудь сказать мне, в чем ошибки?

XML Код:

<?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=".MainActivity">

<TextView
    android:id="@+id/topText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="60dp"
    android:includeFontPadding="false"
    android:paddingTop="10dip"
    android:paddingBottom="10dip"
    android:text="Welcome to Shivam Travels"
    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
    android:textSize="24sp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.504"
    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_marginTop="32dp"
    android:ems="10"
    android:hint="Enter your username"
    android:inputType="textPersonName"
    app:layout_constraintStart_toStartOf="@+id/topText"
    app:layout_constraintTop_toBottomOf="@+id/topText" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="32dp"
    android:ems="10"
    android:hint="Enter your password"
    android:inputType="textPassword"
    app:layout_constraintStart_toStartOf="@+id/editText"
    app:layout_constraintTop_toBottomOf="@+id/editText" />

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="28dp"
    android:onClick="clickbtn"
    android:text="Sign In"
    app:layout_constraintStart_toStartOf="@+id/checkBox"
    app:layout_constraintTop_toBottomOf="@+id/checkBox" />

<CheckBox
    android:id="@+id/checkBox"
    android:layout_width="176dp"
    android:layout_height="65dp"
    android:layout_marginTop="32dp"
    android:text="Remember me!"
    app:layout_constraintStart_toStartOf="@+id/editText2"
    app:layout_constraintTop_toBottomOf="@+id/editText2" />

Ответы [ 5 ]

2 голосов
/ 25 января 2020

Заменить

Log.i(tag:"this", msg:"clickbtn: This is a message");

на

Log.i("this","clickbtn:this is a message!");
2 голосов
/ 25 января 2020

Замените ваш код этим кодом

Замените

Log.i(tag:"this", msg:"clickbtn: This is a message");

на

Log.i("This","This is a message");

Ниже полный фрагмент вашего кода

JAVA ФАЙЛ

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

public class MainTestActivity extends Activity {
    Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        context = this;
        setContentView(R.layout.activity_main);
    }

    public void clickbtn(View view){
        Log.i("This","This is a message");
        Toast.makeText(context, "Button Clicked", Toast.LENGTH_SHORT).show();
    }
}

XML ФАЙЛ

<?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=".MainActivity">

    <TextView
        android:id="@+id/topText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        android:includeFontPadding="false"
        android:paddingTop="10dip"
        android:paddingBottom="10dip"
        android:text="Welcome to Shivam Travels"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
        android:textSize="24sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.504"
        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_marginTop="32dp"
        android:ems="10"
        android:hint="Enter your username"
        android:inputType="textPersonName"
        app:layout_constraintStart_toStartOf="@+id/topText"
        app:layout_constraintTop_toBottomOf="@+id/topText" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:ems="10"
        android:hint="Enter your password"
        android:inputType="textPassword"
        app:layout_constraintStart_toStartOf="@+id/editText"
        app:layout_constraintTop_toBottomOf="@+id/editText" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="28dp"
        android:onClick="clickbtn"
        android:text="Sign In"
        app:layout_constraintStart_toStartOf="@+id/checkBox"
        app:layout_constraintTop_toBottomOf="@+id/checkBox" />

    <CheckBox
        android:id="@+id/checkBox"
        android:layout_width="176dp"
        android:layout_height="65dp"
        android:layout_marginTop="32dp"
        android:text="Remember me!"
        app:layout_constraintStart_toStartOf="@+id/editText2"
        app:layout_constraintTop_toBottomOf="@+id/editText2" />
</androidx.constraintlayout.widget.ConstraintLayout>

enter image description here Для получения более подробной информации: решение

Надеюсь, это поможет вам сейчас.

2 голосов
/ 25 января 2020

Вы определяете вышеупомянутый тип, не поддерживаемый в java. Вы можете сделать это следующим образом.

public String tag = "this";
public String msg = "clickbtn:this is a message!";


Log.i(tag,msg);
2 голосов
/ 25 января 2020

Удалить тег: и msg: из вашего кода

1 голос
/ 25 января 2020

Вы взяли код со скриншота. Проблема в том, что Android studio добавил информацию, которая показывает имя параметра при вызове метода с использованием литералов.

Эта информация не является частью кода, а Android Studio просто добавляет ее, чтобы сообщить вам о параметре и сделать код более читабельным.

Фактический код должен быть:

Log.i("this", "clickbtn: this is a message");

вместо:

Log.i(tag:"this", msg:"clickbtn: this is a message");

Если вы используете это, Android Studio покажет вам tag: и message:, даже если они не являются частью вашего кода.

...