Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何处理从xml到活动的单击_Java_Android_Android Activity_Daemon - Fatal编程技术网

Java 如何处理从xml到活动的单击

Java 如何处理从xml到活动的单击,java,android,android-activity,daemon,Java,Android,Android Activity,Daemon,我是android新手,遵循本教程: (印地语) 在myMainActivity.java中: 当我尝试运行该应用程序时,它会显示以下错误: 9 errors found 1 warning found 2 typos found 它要求我在 Log.i(标记:“this”,消息:“clickbtn:这是一条消息”) 我已经记下来了 这是我的活动\u main.xml: 谁能告诉我有什么错误吗 XML代码: <?xml version="1.0" encoding="utf-8"?&

我是android新手,遵循本教程: (印地语)

在myMainActivity.java中:


当我尝试运行该应用程序时,它会显示以下错误:

9 errors found
1 warning found
2 typos found
它要求我在
Log.i(标记:“this”,消息:“clickbtn:这是一条消息”)

我已经记下来了

这是我的活动\u main.xml

谁能告诉我有什么错误吗

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" />


从代码中删除标记:消息:

用此代码替换代码

替换

Log.i(tag:"this", msg:"clickbtn: This is a message");
Log.i(tag:"this", msg:"clickbtn: 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 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>
XML文件

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 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>

有关详细信息:


希望这对您有所帮助。

您定义了java不支持的上述类型。您可以这样做

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


Log.i(tag,msg);
替换


你从截图中获取了代码。问题是Android studio添加了一些信息,当您使用文本调用方法时,这些信息会显示参数的名称

这些信息不是代码的一部分,Android Studio添加这些信息只是为了通知您有关参数的信息,并使代码更具可读性

实际代码应为:

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

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

如果你使用它,Android Studio将向你显示
标记:
消息:
,即使它不是你代码的一部分。

也显示你的xml代码。它以图像的形式出现在上面。你能给我看一下代码xml代码吗?我在上面添加了它不是文本,这是一个建议,兄弟,这不是一个错误@ajay@InsaneCat我知道,但是在这里,他是一个新的bie,不知道建议和如何处理,但你提到这是错误,但这不是他的代码。我已经删除了这一提及,很享受编码:)@Ajayksi我必须在我的XML代码之外添加你的XML代码,还是用你的代码替换我的代码?现在我只是举个例子……等等,我会修改你的代码代码。但是你可以用这样的方式点击。不用在xml中使用android:onClick=“clickbtn”非常感谢,但由于我刚刚开始学习,我无法理解大部分java文件,但它可以正常工作再次感谢!它现在起作用了吗?再次检查更新的答案,并查看下面出现的剪辑文本。