创建一个简单的应用程序,无法使清除按钮正常工作

问题描述 投票:0回答:1

所以,我正在尝试遵循本网站的教程。

https://developer.android.com/training/basics/firstapp/starting-activity.html#BuildIntent

我做了第一部分,其中有文本框和发送按钮。我可以在文本框中输入文本,然后单击发送。但是文本框的文本会保留在那里。它不会消失。因此,本教程的下一部分是如何使文本消失。我正在尝试跟进,但无法正常工作。

这是我的代码。

activity_main.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">

    <EditText
        android:id="@+id/editText"
        android:layout_width="183dp"
        android:layout_height="46dp"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:hint="@string/edit_message"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toStartOf="@+id/button_clear"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button_clear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginEnd="16dp"
        android:layout_marginRight="16dp"
        android:text="@string/button_send"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/editText"
        tools:layout_editor_absoluteY="14dp" />
</androidx.constraintlayout.widget.ConstraintLayout>


strings.xml

<resources>
    <string name="app_name">The Most Useless App</string>
    <string name="edit_message">Enter a message</string>
    <string name="button_send">Send</string>
</resources>


MainActivity.xml

package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_message);

        // Get the Intent that started this activity and extract the string
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        // Capture the layout's TextView and set the string as its text
        TextView textView = findViewById(R.id.textView);
        textView.setText(message);



    }


}

AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.myfirstapp">

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".DisplayMessageActivity"
                android:parentActivityName=".MainActivity">
                <!-- The meta-data tag is required if you support API level 15 and lower -->
                <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value=".MainActivity" />
            </activity>

        </application>

    </manifest>

MainActivity.java

    package com.example.myfirstapp;

    import androidx.appcompat.app.AppCompatActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.TextView;


    public class MainActivity extends AppCompatActivity {



        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_display_message);

            // Get the Intent that started this activity and extract the string
            Intent intent = getIntent();
            String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

            // Capture the layout's TextView and set the string as its text
            TextView textView = findViewById(R.id.textView);
            textView.setText(message);



        }


    }

我得到的错误

无法解析符号textView

无法解析符号activity_display_message

无法解析符号EXTRA_MESSAGE

未在com.example.myfirstapp.MainActivity活动中注册清单。

任何帮助将不胜感激。

java android
1个回答
0
投票

是一个设置问题,您应该做的第一件事是要进行干净的构建,您可以在android studio上方选择buld选项,然后选择clean build。如果不起作用,请发布您的build.gradle file

的输出

还有可能您只是从android开始,并且您不知道有时必须导入所需的库

将鼠标指向MainActivity,如果您在Windows中,请按alt + enter,然后选择将Activity添加到AndroidManifest,然后进行干净的构建。

我建议您使用向导构建一个新项目,转到Android Studio并选择文件新项目并关注该项目,这样MainActivity将自动添加到清单中

© www.soinside.com 2019 - 2024. All rights reserved.